5

我一直在阅读 的man页面apk add,但我不完全了解如何使用该--force-broken-world标志。

我试图将 Python 2.7.6 安装到 Alpine 映像中,但出现以下错误。

$ docker run --rm -it alpine:latest apk add --no-cache python=2.7.6
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  python2-2.7.14-r2:
    breaks: world[python=2.7.6]

但是,我可以强制安装它,但我不确定它在做什么,如果有的话。

$ docker run --rm -it alpine:latest apk add --force-broken-world --no-cache python=2.7.6
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
OK: 4 MiB in 11 packages

从命令行看,一切都很好。但是,当您在容器内执行此操作时,python似乎没有安装。

$ docker run --rm -it alpine:latest /bin/ash
# apk add --force-broken-world --no-cache python=2.7.6
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
OK: 4 MiB in 11 packages
# python --version
/bin/ash: python: not found
# find / -name ash
/bin/ash
# find / -name python
#

所以问题是,--force-broken-world旗帜到底有什么作用,我还需要采取哪些其他步骤来修复我破碎的世界?

4

0 回答 0