Docker - Alpine Elixir 容器具有不可满足的约束
Docker - Alpine Elixir container has unsatisfiable constraints
我的 Phoenix 应用程序有这个 Dockerfile。当 运行 使用 Semaphore CI 进行促销时,我的部署失败并且 returns 此错误:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
这两个包怎么抓不到?
erlang:20-alpine
图像(Dockerfile), which is used as base for elixir:1.6.6-alpine
(Dockerfile), has been recently updated from Alpine 3.8 to 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]
不幸的是,我目前不熟悉解决方法。
此问题有一个有效的开放式 Alpine 票证:https://bugs.alpinelinux.org/issues/10136,因此值得关注可能的更新。
我的 Phoenix 应用程序有这个 Dockerfile。当 运行 使用 Semaphore CI 进行促销时,我的部署失败并且 returns 此错误:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
这两个包怎么抓不到?
erlang:20-alpine
图像(Dockerfile), which is used as base for elixir:1.6.6-alpine
(Dockerfile), has been recently updated from Alpine 3.8 to 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]
不幸的是,我目前不熟悉解决方法。
此问题有一个有效的开放式 Alpine 票证:https://bugs.alpinelinux.org/issues/10136,因此值得关注可能的更新。