Docker - Alpine Elixir容器有不可满足的限制

问题描述 投票:2回答:1

我有凤凰应用程序的这个Dockerfile。使用Semaphore CI运行促销时,我的部署失败并返回此错误:

ERROR: unsatisfiable constraints:
  libssl1.0 (missing):
    required by: world[libssl1.0]
  pdftk (missing):
    required by: world[pdftk]

怎么不能取这两个包呢?

docker elixir alpine semaphore-ci
1个回答
6
投票

erlang:20-alpine图像(Dockerfile),用作elixir:1.6.6-alpineDockerfile)的基础,最近从Alpine 3.8更新到3.9(Github commit)。

以下在Alpine 3.8和3.9之间发生了变化:

  • libssl1.0包被删除,并被libssl1.1取代。
  • pdftk软件包已在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]

不幸的是,我目前还不熟悉一种解决方法。

这个问题有一个活跃的阿尔卑斯山门票:https://bugs.alpinelinux.org/issues/10136,因此值得关注可能的更新。

© www.soinside.com 2019 - 2024. All rights reserved.