更改 docker alpine 中的目录失败

use*_*619 2 docker dockerfile docker-compose alpine-linux

尝试使用 alpine 映像构建 dockerfile 并安装一组目录。这是下面的脚本。在 mkdir 之前它工作正常,但不会更改为 /opt 来下载 git 代码。

git 代码仅下载到 /src。不确定为什么 cd /opt 命令不起作用。

FROM alpine
ADD . /src
WORKDIR /src
RUN apk update
RUN apk add git
RUN mkdir /opt
RUN cd /opt  && git clone --recursive https://github.com/Azure/azure-iot-sdk-python.git 
RUN ls -al 
RUN cd azure-iot-sdk-python && ls -al build_all/linux
Run Code Online (Sandbox Code Playgroud)

Rob*_*ert 5

当前工作目录将每次重置RUN为最后一个的值WORKDIR

因此,正因为如此,这条线RUN cd azure-iot-sdk-python && ls -al build_all/linux是从这里开始的/src,并且您的克隆存储库位于opt.

所以这两者都会起作用:

RUN cd /opt/azure-iot-sdk-python && ls -al build_all/linux
Run Code Online (Sandbox Code Playgroud)

和:

WORKDIR /opt
RUN cd azure-iot-sdk-python && ls -al build_all/linux
Run Code Online (Sandbox Code Playgroud)