0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Docker】DockerfileにてRUN 、 CMD 、 ENTRYPOINTの違い

Posted at

皆さん、こんにちは。
私は最近Dockerを学んでいますので、勉強したものとか、分からないものとか記事をしてみんなに共有したいんです。

Dockerでimageを作成するため、よくDockerfile経由で行われます。
RUN 、 CMD 、 ENTRYPOINTなどのコマンドをよく使われていますが迷っている人がいるはずでしょうか。

これからDockerfileにてRUN 、 CMD 、 ENTRYPOINTの違いところをそれぞれまとめて説明いたします。

一、RUN

RUNコマンドを使うと新しい層を作ります。通常としては、パッケージ、プラグインなどのソフトウェアをインストールする際に、RUN コマンドを使います。
例:

RUN apt-get install python3

二、CMD

CMDコマンドを使うと、デフォルトのコマンド、引数などを設定できます。
あと、コマンドラインで新コマンド、引数を渡すと、デフォルトのコマンド、引数をカバーできます。
また、CMDコマンドを使ってENTRYPOINTの引数を設定することも可能です。
ただ、CMDコマンドは最後の一個だけのCMDコマンドを実行されます。ほかのCMDコマンドを無視されます。

例:

CMD echo "Hello world" 

三、ENTRYPOINT

ENTRYPOINTとは、Dockerのcontainerを起動する際に、必ず実行されるコマンドです。
ENTRYPOINT使うとDockerのcontainerの起動コマンドを設定できます。
このコマンドは原則として無視されないです。
例:

ENTRYPOINT ["/bin/echo", "Hello"]  

最後に

最後まで読んでいただき、ありがとうございました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?