Qiitaの記事やDocker Hubを見てみると、あまりにも以下の様に書いているDockerfileが多い。
ENV $APP_PATH = /app
RUN mkdir $APP_PATH && \
cd $APP_PATH && \
curl ...
これはWORKDIR
を使えばこう書けます。
ENV $APP_PATH = /app
WORKDIR $APP_PATH
RUN curl...
WORKDIR
で指定したディレクトリがない場合は生成されてから作業ディレクトリになります。つまりmkdir
やcd
が不要になります。
またWORKDIR
で指定したディレクトリがdocker container run
を行った時の作業ディレクトリになるのでコンテナに入る時に分かりやすいです。
あと単純に記述量が減るので見やすくなります。
参考
Dockerfile リファレンス [WORKDIR]
http://docs.docker.jp/engine/reference/builder.html#workdir