更改docker高山失败的目录
试图build立一个高山形象的docker文件,并安装一组目录。 以下是脚本。 它工作正常,直到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
重置为最后一个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
和:
WORKDIR /opt RUN cd azure-iot-sdk-python && ls -al build_all/linux
罗伯特是对的,你可以通过遵循Dockerfile的最佳做法来避免这个问题,并且只有一个RUN,请参阅https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/