2017-06-19 4 views
1

dockerfileをalpine imageで構築し、一連のディレクトリをインストールしようとしています。以下にスクリプトを示します。 mkdirまでうまく動作しますが、/ optに変更してgitコードをダウンロードすることはありません。docker alpineでディレクトリを変更していない

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 
+0

「WORKDIR」だけではないのはなぜですか? – johnharris85

+0

私はそれを行うことができますが、上記のコマンドが動作しない理由を知りたいのですが...そのウブンはうまく動作しています。 – user1050619

答えて

3

現在の作業ディレクトリは最後WORKDIRの値にすべてのRUNのためにリセットされます。

だから、この行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 
関連する問題