このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】ボリュームを操作するコマンド
ボリュームを操作するコマンドは、Dockerを使用してコンテナ間でデータを永続化するために使用されます。以下にそれぞれのコマンドを解説します。
docker volume create
このコマンドは、新しいボリュームを作成します。ボリュームは、コンテナ間でデータを共有するための永続的な場所として使用されます。例えば、データベースやファイルシステムの保存領域などに利用されます。
【構文】
docker volume create <ボリューム名>
・「docker volume create vol1」コマンドを実行します。
PS C:\Users\joeac> docker volume create vol1
vol1
docker volume ls
このコマンドは、システムに存在するすべてのボリュームの一覧を表示します。これにより、どのボリュームが利用可能であるか、またボリュームの名前などの情報を確認できます。
【構文】
docker volume ls
・「docker volume ls」コマンドを実行します。
PS C:\Users\joeac> docker volume ls
DRIVER VOLUME NAME
local vol1
docker volume inspect
このコマンドは、指定されたボリュームの詳細情報を表示します。これには、ボリュームの名前、マウントポイント、作成日時などの情報が含まれます。
【構文】
docker volume inspect <ボリューム名>
・「docker volume inspect vol1」コマンドを実行します。
PS C:\Users\joeac> docker volume inspect vol1
[
{
"CreatedAt": "2024-03-23T04:09:37Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/vol1/_data",
"Name": "vol1",
"Options": null,
"Scope": "local"
}
]
docker volume rm
このコマンドは、指定されたボリュームを削除します。削除されたボリュームに関連するデータは完全に失われますので、注意が必要です。
【構文】
docker volume rm <ボリューム名>
・「docker volume rm vol1 」コマンドを実行します。
PS C:\Users\joeac> docker volume rm vol1
vol1
・「docker volume ls」でボリュームが削除されていることを確認します。
PS C:\Users\joeac> docker volume ls
DRIVER VOLUME NAME
「vol1」ボリュームが削除されています。
docker volume prune
このコマンドは、システムに存在するすべての未使用のボリュームを一括削除します。これにより、不要なボリュームをクリーンアップすることができます。
「docker system prune」コマンドでもでも、同様に不要なボリュームを削除することができます。こちらのコマンドは、イメージ、コンテナ共に一括で削除します。
備考:「docker volume prune」や「docker system prune -a」コマンドで削除できない場合は、「docker volume rm」コマンドで個別に削除を試みます。
【構文】
docker volume prune
docker system prune -a
ここで、不要なDockerオブジェクトを削除しておきます。
「docker system prune 」に「-a」オプションを指定します。
・「docker system prune -a」
Are you sure you want to continue? [y/N] と問われたら、「y」と入力して「Enter」キーを押します。
PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y
Deleted Containers:
880801d6c9911f5c11c17c56cbcc691e7abbbc289ab570825d509cd2588ddf5f
e02537ac90863d93ce1582c49abd346a588bb3acf1c2d1244f591e5198fa1fdb
Deleted Images:
untagged: whale-image:latest
deleted: sha256:7f31030879b763eaf19d170efe1c28f2c06187ffeb943bdfb177bd71e7e6b718
untagged: base-image:latest
deleted: sha256:b4c086162e4fc89b8073316d7efca0f9288f199317f82db6fdba14498552dc75
untagged: busybox:latest
untagged: busybox@sha256:650fd573e056b679a5110a70aabeb01e26b76e545ec4b9c70a9523f2dfaf18c6
deleted: sha256:ba5dc23f65d4cc4a4535bce55cf9e63b068eb02946e3422d3587e8ce803b6aab
deleted: sha256:95c4a60383f7b6eb6f7b8e153a07cd6e896de0476763bef39d0f6cf3400624bd
Deleted build cache objects:
v524c1pebx036qyr8gpvp73f2
caez2eax7auoeddq34mcjmlcp
jgv0q3rg9udfl78dgig4awetr
t7xer4gfns7thdbpmltlfizi7
ntz8icxhixfx5iujdkbddpar6
yqz63bv9ioye4mgi0509uhsnq
1u6fdvs59tmvor3n7leprpjx0
Total reclaimed space: 109.5MB
これらのコマンドを使用することで、Docker環境でボリュームを管理し、データの永続化を効果的に行うことができます。