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 ディレクトリにあった初期データが含まれています。