docker create を使用したボリュームの初期化
このステップでは、docker create
コマンドを使用して Docker ボリュームを初期化する方法を学びます。この方法では、コンテナイメージから初期データをボリュームに投入するために特別にコンテナを作成できます。
まず、ubuntu
イメージから volume-initializer
という名前の新しいコンテナを作成します。このコンテナは一時的にボリュームを初期化するために使用します。-v
フラグを使用して初期化したいボリュームとコンテナ内のマウントポイントを指定します。ボリューム名を my-initialized-volume
とし、コンテナ内の /app_data
にマウントします。
docker create -v my-initialized-volume:/app_data --name volume-initializer ubuntu:latest
このコマンドはコンテナと、存在しない場合はボリュームも作成します。-v my-initialized-volume:/app_data
の部分は、my-initialized-volume
という名前のボリュームを作成し、コンテナ内の /app_data
ディレクトリにマウントするよう Docker に指示します。
次に、このコンテナを起動します。ボリュームを持つコンテナが初めて起動されるとき、ボリュームが空の場合、Docker はマウントポイントで指定されたディレクトリの内容をイメージからボリュームにコピーします。
docker start volume-initializer
このコンテナは初期化専用で長時間実行されるプロセスを持たないため、起動後すぐに停止する可能性が高いです。
すべてのコンテナをリスト表示して、コンテナが停止したことを確認できます。
docker ps -a
volume-initializer
が Exited
ステータスで表示されるはずです。
my-initialized-volume
ボリュームが作成されたことを確認するには、すべての Docker ボリュームをリスト表示します。
docker volume ls
ボリュームのリストに my-initialized-volume
が表示されるはずです。
この時点で、my-initialized-volume
ボリュームには ubuntu:latest
イメージの /app_data
ディレクトリにあった初期データが含まれています。