ググったらたくさんでてきますが、一応自分用の備忘録として残しておきます。
概要
RUN
も CMD
も両方とも Dockerfile に記載する命令です。
違いは、以下の通りという認識です。
RUN
- イメージ作成時に実行される。つまり、
docker build
コマンドでイメージを作成したとき、RUN
で実行されたものがで出来上がったイメージに反映された状態になる
- イメージ作成時に実行される。つまり、
CMD
- コンテナの起動時に実行される。つまり、イメージの中には入っておらず、
docker run
コマンド実行時に実行される
- コンテナの起動時に実行される。つまり、イメージの中には入っておらず、
その他の違い
大きな違いとして、 CMD
は最後の1行のみが実行されるという点があります。
これが曲者で、自分は結構ハマりました。
Dockerで複数CMDを実行する方法
こんばんは、エンジニアの眠れない夜です。 Dockerで複数CMDを利用したい人のための簡単な解決方法です。 …
コメント