Docker-Alpine Elixir容器具有无法满足的约束 [英] Docker - Alpine Elixir container has unsatisfiable constraints

查看:105
本文介绍了Docker-Alpine Elixir容器具有无法满足的约束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于我的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:

  • libssl1.0 软件包已被删除,并由

  • The libssl1.0 package has been removed, and superseded by libssl1.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆