LoginSignup
24
16

More than 3 years have passed since last update.

Dockerfileの「RUN mkdir /path && cd /path」はWORKDIRで一発

Posted at

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で指定したディレクトリがない場合は生成されてから作業ディレクトリになります。つまりmkdircdが不要になります。
またWORKDIRで指定したディレクトリがdocker container runを行った時の作業ディレクトリになるのでコンテナに入る時に分かりやすいです。

あと単純に記述量が減るので見やすくなります。

参考

Dockerfile リファレンス [WORKDIR]
http://docs.docker.jp/engine/reference/builder.html#workdir

24
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
16