linux apk安装包在容器中不可用

cnjp1d6j  于 4个月前  发布在  Linux
关注(0)|答案(1)|浏览(83)

我正在使用alpine Linux构建一个镜像,如下所示:

FROM alpine:3.7

RUN apk update \
apk upgrade \
apk add bash

CMD ["sh","ls"]

字符串
我希望bash在容器中可用,但当我运行它时,它找不到bash

docker run -it --rm tmp:latest /bin/sh
/ # bash
/bin/sh: bash: not found


如果有人能帮助我理解为什么它是不可用的,这将是非常感谢!

vfwfrxfs

vfwfrxfs1#

尝试在每个apk命令后添加&&,就像下面的Dockerfile一样。当Docker构建容器时,原始的RUN行扩展为单个命令apk update apk upgrade apk add bash,而不是单独的命令。因此,在构建镜像时,apk add bash命令没有正确运行。

FROM alpine:3.7

RUN apk update \
 && apk upgrade \
 && apk add bash

CMD ["sh","ls"]

字符串
您应该将合并与&&结合使用,这样,如果其中一个命令失败,在构建映像时就会报告。

相关问题