更改docker alpine中的目录失败

时间:2017-06-19 18:43:27

标签: docker docker-compose dockerfile alpine

尝试使用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

2 个答案:

答案 0 :(得分:3)

当前工作目录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

答案 1 :(得分:1)

Robert是对的,您可以通过遵循Dockerfile最佳做法来避免此问题,并且只有一次RUN,请参阅https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/