我的Phoenix应用程序有这个Dockerfile。使用Semaphore CI运行促销时,我的部署失败并返回以下错误:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
为什么无法获取这两个软件包?
答案 0 :(得分:4)
用作erlang:20-alpine
(Dockerfile)基础的elixir:1.6.6-alpine
图像(Dockerfile)已从Alpine 3.8更新为3.9({{3 }}。
以下内容已在Alpine 3.8和3.9之间更改:
libssl1.0
软件包已被删除,并由Github commit取代。
libssl1.1
软件包已在3.9中删除,仅在edge
分支community
存储库(和较旧的Alpine分支)中可用。
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]
不幸的是,我目前不熟悉解决方法。
此问题有一张有效的Alpine开放票证:pdftk
,因此值得关注可能的更新。