Docker — контейнер Alpine Elixir имеет неудовлетворительные ограничения

У меня есть этот Dockerfile для моего приложения Phoenix. При запуске продвижения с помощью Semaphore CI мое развертывание завершается сбоем и возвращает эту ошибку:

ERROR: unsatisfiable constraints:
  libssl1.0 (missing):
    required by: world[libssl1.0]
  pdftk (missing):
    required by: world[pdftk]

Почему он не может получить эти два пакета?


person Bargain23    schedule 29.03.2019    source источник
comment
можешь выложить свой лог?   -  person S.B    schedule 29.03.2019


Ответы (1)


Образ erlang:20-alpine (Dockerfile), который используется в качестве базы для elixir:1.6.6-alpine (Dockerfile), был недавно обновлен с Alpine 3.8 до 3.9 (Github) .

Между Alpine 3.8 и 3.9 произошли следующие изменения:

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, так что стоит следить за возможными обновлениями.

person valiano    schedule 29.03.2019
comment
Как мне использовать 3.8 вместо 3.9? - person Bargain23; 31.03.2019
comment
@Bargain23 Bargain23 Я подозреваю, что вы не можете, не создавая свои собственные настроенные изображения, поскольку erlang:20-alpine был обновлен на месте, и похоже, что есть только один вариант изображения alpine. - person valiano; 31.03.2019