コマンドの実行(RUN命令)
FROM命令で指定したベースイメージに対して、なんらかのコマンドを実行するときはRUN命令を使う。
アプリケーションをインストールする、環境構築のためのコマンドを実行するなど
RUN [実行したいコマンド]
RUN命令には、2通りの記述方法がある。
Shell形式
コマンドの指定をシェルの形式で記述する方法。
#aptコマンドでアップデート&Nginxのインストール RUN apt-get update && apt-get install -y nginx
Exec形式
Exec形式で記述すると、シェルを介さず直接実行する。
実行したいコマンドはJSON配列で指定する。
#zsh(シェル)を利用して、アップデート&Nginxのインストール RUN ["/bin/zsh","-c","apt-get update && apt-get install -y nginx"]
どちらを使うべきなのか
シェルを介してコマンドを実行したいときはShell形式、それ以外はExec形式で記述するとよい。