DockerのRUN、CMD、ENTRYPOINT の違い

Dockerにはコンテナ上でコマンドを実行させる命令としてRUN、CMD、ENTRYPOINTがあります。それぞれの違いについて調べてみました。

RUN

イメージファイルをビルドする時に実行されるコマンドです。アプリケーションのインストールとか設定ファイルの修正などに使います。

CMD

コンテナが起動される時に実行されるコマンドです。初期設定のデフォルトを指定したいときなどに使用することを想定しているようです。実行時に別のコマンドを指定することもできます。

ENTRYPOINT

コンテナが起動される時に実行されるコマンドです。CMDとは違い、別のコマンドを実行するように指定することは基本的には出来ません(オプション指定すれば出来る)。用途としてはコンテナ上で何かしらコマンドを実行してすぐ停止する実行ファイルのような使い方を想定しているようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です