apk 安装包在容器中不可用
apk installed package not available in container
我正在使用 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
如果有人能帮助我理解为什么它不可用,我们将不胜感激!
尝试在每个 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"]
您应该将单独的命令与 &&
结合使用,这样如果一个失败,将在构建映像时报告。
我正在使用 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
如果有人能帮助我理解为什么它不可用,我们将不胜感激!
尝试在每个 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"]
您应该将单独的命令与 &&
结合使用,这样如果一个失败,将在构建映像时报告。