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