Dockerfileの命令(VOLUME・SHELL)


・VOLUMEコマンド

 Dockerfile内で使用され、Dockerイメージにボリュームを割り当てる命令。ボリュームはコンテナ内のデータ永続化に使用される。

SHELLコマンド
 Dockerfile内で使用され、デフォルトのシェルを設定する命令。コンテナ内でスクリプトやコマンドが実行される際に使用される。

これらのコマンドについて解説します。

VOLUMEコマンド

 VOLUMEコマンドは、Dockerfile内で使用される命令の一つであり、Dockerイメージにボリューム(Volume)を割り当てるために使われます。これにより、コンテナ内の特定のディレクトリやファイルへのデータの永続化や共有が容易になります。

書式
VOLUME ["マウントポイント"]
使用例

 この使用例では、「/log」というディレクトリにボリュームを割り当てています。このボリュームは、コンテナ内の「/log」ディレクトリにマウントされ、そこにデータを永続化することができます。

VOLUME ["/log"]

SHELLコマンド

 SHELLコマンドは、Dockerfile内で使用される命令の一つであり、デフォルトのシェルを設定するために使われます。これにより、Dockerコンテナ内でのシェルの振る舞いや環境をカスタマイズすることができます。

書式
SHELL ["シェルのパス","パラメータ"]
使用例

 この使用例では、デフォルトのシェルを「/bin/bash」に設定し、さらに「-c」パラメータを指定してコマンドの実行を行います。これにより、コンテナ内でのデフォルトのシェルがBashになります。公式ドキュメントに書かれています。

SHELL ["/bin/bash", "-c"]

 これらの命令を使用することで、Dockerイメージのボリュームの管理やコンテナ内のデフォルトのシェルの設定を柔軟にカスタマイズすることができます。