我有凤凰应用程序的这个Dockerfile。使用Semaphore CI运行促销时,我的部署失败并返回此错误:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
怎么不能取这两个包呢?
erlang:20-alpine
图像(Dockerfile),用作elixir:1.6.6-alpine
(Dockerfile)的基础,最近从Alpine 3.8更新到3.9(Github commit)。
以下在Alpine 3.8和3.9之间发生了变化:
的libssl:
这个很容易修复:只需用libssl1.0
替换libssl1.1
包。
PDFTK:
pdftk
更成问题。它依赖于libgcj6
,即GCC 6的Java运行时。但是,Java运行时已从GCC 8及其后续版本中完全删除。 libgcj6
是GCC 6的Java运行时,与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]
不幸的是,我目前还不熟悉一种解决方法。
这个问题有一个活跃的阿尔卑斯山门票:https://bugs.alpinelinux.org/issues/10136,因此值得关注可能的更新。