皆さん、こんにちは。
私は最近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"]
最後に
最後まで読んでいただき、ありがとうございました。