Linux apk安装包在容器中不可用
我正在使用alpine linux构建一个映像,如下所示:Linux apk安装包在容器中不可用,linux,docker,alpine,Linux,Docker,Alpine,我正在使用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 如果有人能帮我理解为什么它不可用
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
如果有人能帮我理解为什么它不可用,我将不胜感激 尝试在每个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"]
您应该将单独的命令与和&
组合在一起,因此如果其中一个命令失败,则在构建映像时会报告该命令
FROM alpine:3.7
RUN apk update && \
apk upgrade && \
apk add bash
CMD ["sh","ls"]