DockerfileのRUN命令とCMD命令の違い【Docker】

Dockerfile内で頻繁に使用するRUN命令とCMD命令。共に指定したコマンドを実行する命令ですが、実行されるタイミングが異なります。

RUN命令・CMD命令の違い

  • RUN命令はDockerfileからImageを作成するときに実行されます。
  • CMD命令はDockerイメージからDockerコンテナを作成するときに実行されます。

両者の違いは、実行されるタイミングの違いです。

パッケージのinstallなどで使用されるRUN命令

RUN命令はimageを作成するときに一度だけ実行される命令なので、imageにパッケージをインストールするなどの処理が記述されます。

コンテナ起動時に実行されるCMD命令

CMD命令はコンテナを起動するときに実行されるコマンドを指定します。

そのため、webサーバーの起動などに使用される事が多いです。

ABOUTこの記事をかいた人

新卒でノマドワーカー(webデザイナー)として独立し、半年で月収100万円を達成する。その後、事務所を売却(バイアウト)したり、Youtuber(最高月間視聴回数109万回、チャンネル登録者1万人)をしたり、Openrecの公式配信者としてゲーム生実況をしたり、ベンチャー企業のCOOをしたり、パラレルキャリアを歩んできました。 2019年にミニマムライフコストを不労所得で稼げるようになったため、いまは、お金のことを考えずに、様々な企業でエンジニア修行をさせていただきながら、複数のメディアやアプリとweb制作事務所を運営しています。 趣味は株式投資(米国・日本株メイン)で、トレードを楽しむ日も多いです!