Docker Alpine / bin / sh没有find
我正在构build一个新的Docker镜像:
FROM alpine:3.4 RUN apk upgrade --update
但是,它的失败与错误:
[INFO] /bin/sh: apk: not found
这似乎在我的本地机器(Mac OSX)上正常工作,但是当我尝试在Linux CentOS 7机器上构build它时,它失败了。
嗯非常奇怪的问题apk是默认存在的,当然是Alpine的包pipe理器:)。
我推荐你用login到容器
$ docker exec -it CONTAINER_ID_OR_NAME /bin/sh
后来又做了
# which apk
要知道如果你的容器没有启动apk是否存在,你可以这样做:
$ docker run --rm -it IMAGE_NAME /bin/sh
这里是一个我的Dockerfile的例子
FROM alpine:edge RUN apk add --no-cache gcc musl-dev python3 libxml2 libxml2-dev libxslt libxslt-dev RUN pip3 install --upgrade pip RUN pip3 install --upgrade pelican Markdown typogrify BeautifulSoup4 lxml CMD "/bin/sh"
另外我login了我的一个容器,然后执行你的命令:
# apk upgrade --update fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz Upgrading critical system libraries and apk-tools: (1/3) Upgrading apk-tools (2.6.7-r0 -> 2.6.8-r1)