简体   繁体   English

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

[英]Docker - Alpine Elixir container has unsatisfiable constraints

I have this Dockerfile for my Phoenix application. 我有这个Dockerfile用于我的Phoenix应用程序。 When running a promotion with Semaphore CI, my deployment fails and returns this error: 使用Semaphore CI运行促销时,我的部署失败并返回此错误:

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? 怎么不能取这两个包呢?

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 ). erlang:20-alpine图像( Dockerfile ),用作elixir:1.6.6-alpine基础elixir:1.6.6-alpineDockerfile ),最近从Alpine 3.8更新到3.9( Github commit )。

The following has changed between Alpine 3.8 and 3.9: 以下在Alpine 3.8和3.9之间发生了变化:

  • The libssl1.0 package has been removed, and superseded by libssl1.1 . libssl1.0软件包已被删除,并被libssl1.1取代。

  • The pdftk package has been removed in 3.9, and is only available in the edge branch community repository (and older Alpine branches). pdftk软件包已在3.9中删除,仅在edge分支community存储库(以及较旧的Alpine分支机构)中可用。

libssl: 的libssl:

This one is easily fixed: just replace the libssl1.0 package with libssl1.1 . 这个很容易修复:只需用libssl1.0替换libssl1.0libssl1.1

pdftk: PDFTK:

pdftk is more problematic. pdftk更有问题。 It depends on libgcj6 , the Java runtime for GCC 6. However, the Java runtime was completely removed from GCC 8 and onwards. 它依赖于libgcj6 ,即GCC 6的Java运行时。但是,Java运行时已从GCC 8及其libgcj6完全删除。 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是GCC 6的Java运行时,与GCC 8不兼容。安装libgcj6还会libgcj6 GCC 6 C ++运行时libstdc++6 (6.4.0-r9)

An attempt to install pdftk along with libgcj6 , for example: 试图安装pdftklibgcj6 ,例如:

RUN apk add --no-cache libgcj6 pdftk --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community

Fails with: 失败:

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. 不幸的是,我目前还不熟悉一种解决方法。

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. 这个问题有一个活跃的阿尔卑斯山门票: https//bugs.alpinelinux.org/issues/10136 ,所以值得关注可能的更新。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM