Докер - контейнер Alpine Elixir имеет неудовлетворительные ограничения
У меня есть этот Dockerfile для моего приложения Phoenix. При запуске продвижения с помощью Semaphore CI мое развертывание завершается неудачно и возвращает эту ошибку:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
Почему он не может получить эти два пакета?
1 ответ
erlang:20-alpine
изображение ( Dockerfile), которое используется в качестве базы для elixir:1.6.6-alpine
( Dockerfile), недавно был обновлен с Alpine 3.8 до 3.9 ( коммит Github).
Следующее изменилось между Alpine 3.8 и 3.9:
libssl1.0
пакет был удален и замененlibssl1.1
,pdftk
Пакет был удален в 3.9 и доступен только вedge
веткаcommunity
хранилище (и более старые альпийские ветви).
libssl:
Это легко исправить: просто замените libssl1.0
пакет с libssl1.1
,
Pdftk:
pdftk
более проблематично. Это зависит от libgcj6
среда выполнения Java для GCC 6. Однако среда выполнения Java была полностью удалена из GCC 8 и далее. libgcj6
является средой выполнения Java для GCC 6 и не совместима с GCC 8. Установка libgcj6
также тянет GCC 6 C++ во время выполнения, libstdc++6 (6.4.0-r9)
,
Попытка установить pdftk
вместе с libgcj6
, например:
RUN apk add --no-cache libgcj6 pdftk --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
Сбой с:
ERROR: unsatisfiable constraints:
so:libgcj.so.17 (missing):
required by: pdftk-2.02-r1[so:libgcj.so.17]
К сожалению, я не знаком с обходным путем, в настоящее время.
Для этой проблемы есть активный открытый билет Alpine: https://bugs.alpinelinux.org/issues/10136, поэтому стоит следить за возможными обновлениями.