Docker-Alpine Elixir容器具有无法满足的约束 [英] Docker - Alpine Elixir container has unsatisfiable constraints
问题描述
对于我的Phoenix应用程序,我有这个 Dockerfile .使用Semaphore CI运行升级时,我的部署失败并返回以下错误:
I have this Dockerfile for my Phoenix application. When running a promotion with Semaphore CI, my deployment fails and returns this error:
ERROR: unsatisfiable constraints:
libssl1.0 (missing):
required by: world[libssl1.0]
pdftk (missing):
required by: world[pdftk]
为什么无法获取这两个软件包?
How come it can't fetch these two packages?
推荐答案
erlang:20-alpine
图片( Dockerfile ),最近已从Alpine 3.8更新为3.9( Github提交).
The erlang:20-alpine
image (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之间更改:
The following has changed between Alpine 3.8 and 3.9:
The
libssl1.0
package has been removed, and superseded bylibssl1.1
.
pdftk
程序包已在3.9中删除,仅在 edge
分支 community
存储库(以及较早的Alpine分支)中可用.
The pdftk
package has been removed in 3.9, and is only available in the edge
branch community
repository (and older Alpine branches).
libssl:
此问题很容易解决:只需将 libssl1.0
包替换为 libssl1.1
.
This one is easily fixed: just replace the libssl1.0
package with 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
is more problematic. It depends on libgcj6
, the Java runtime for GCC 6.
However, the Java runtime was completely removed from GCC 8 and onwards. libgcj6
is the Java runtime for GCC 6, and is not compatible with GCC 8. Installing libgcj6
also pulls the GCC 6 C++ runtime, libstdc++6 (6.4.0-r9)
.
尝试与 libgcj6
一起安装 pdftk
,例如:
An attempt to install pdftk
along with libgcj6
, for example:
运行apk添加--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]
不幸的是,我目前不熟悉解决方法.
Unfortunately, I'm not familiar with a workaround, currently.
此问题有一个活跃的Alpine开放票证: https://bugs.alpinelinux.org/issues/10136 ,因此值得关注可能的更新.
There's an active open Alpine ticket for this issue: https://bugs.alpinelinux.org/issues/10136, so it's worth keeping an eye for possible updates.
这篇关于Docker-Alpine Elixir容器具有无法满足的约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!