2.1 基本的な docker volume
コマンド
Dockerのボリューム (volumes) は、コンテナのデータを長期的に保存し、データの管理や分離を簡単にします。docker volume
コマンドは、ボリュームの作成、管理、削除のためのツールセットを提供します。この講義では、Dockerでボリュームを効率的に管理するために、docker volume
コマンドの使い方を見ていきます。
docker volume の基本コマンド:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
2.2 ボリュームの作成: docker volume create
docker volume create
コマンドは、新しいボリュームを作成するために使用するよ。デフォルトでは、Dockerはホストの標準の場所にボリュームを作成するけど、色々なパラメータを指定してボリュームを設定することもできるんだ。
簡単なボリューム作成の例
この例では、my_volume
という名前のボリュームを作成するよ。
docker volume create my_volume
設定付きボリュームの作成
特定の特性を持つボリュームを作成するために、ドライバやオプションを指定することもできるよ。
docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt
device=tmpfs my_custom_volume
これらのパラメータについては後で詳しく見るから、今はあまり気にしなくて大丈夫だよ。
2.3 ボリュームリスト: docker volume ls
docker volume ls
コマンドはホスト上に作成されたすべてのボリュームのリストを表示するよ。
docker volume ls
出力には、既存のすべてのボリュームの情報が含まれるよ:
DRIVER VOLUME NAME
local my_volume
local my_custom_volume
2.4 ボリューム情報: docker volume inspect
docker volume inspect
コマンドは、特定のボリュームの場所、パラメータ、使用状況など、詳細な情報を提供するよ!
docker volume inspect my_volume
コマンドの出力はJSON形式で情報を含むよ:
[
{
"CreatedAt": "2023-07-26T12:34:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
"Name": "my_volume",
"Options": {},
"Scope": "local"
}
]
2.5 ボリュームを削除する: docker volume rm
docker volume rm
コマンドはボリュームを削除するために使用されるよ。削除する前に、そのボリュームがコンテナで使用されていないことを確認するのが大事だよ。
ボリューム削除
もしボリュームが使用中の場合、Dockerはエラーを出してボリュームを削除できないことを教えてくれるよ。
docker volume rm my_volume
未使用ボリュームのクリーンアップ: docker volume prune
docker volume prune
コマンドはすべての未使用ボリュームを削除するよ。これでディスクの空き容量が増えるんだ。
未使用ボリュームのクリーンアップ
コマンドを実行すると、Dockerが未使用ボリュームをすべて削除するかどうか確認してくるよ。
docker volume prune
2.6 コマンドの実用的な使い方の例
例1: コンテナでのボリュームの作成と使用
ボリュームの作成:
docker volume create app_data
ボリュームを使用したコンテナの起動:
docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx
この例では、ボリューム app_data
がコンテナ nginx
のディレクトリ /usr/share/nginx/html
にマウントされます。
例2: ボリューム情報の取得
ボリュームの作成:
docker volume create logs_data
ボリュームを使用したコンテナの起動:
docker run -d --name log_app -v logs_data:/var/log/app busybox
ボリューム情報の表示:
docker volume inspect logs_data
例3: ボリュームの削除とクリア
ボリュームの作成と使用:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
コンテナの停止と削除:
docker stop temp_app
docker rm temp_app
ボリュームの削除:
docker volume rm temp_data
未使用ボリュームをすべてクリア:
docker volume prune
GO TO FULL VERSION