はじめに
本記事では、Docker volume で使用されている領域のサイズを調べる方法について紹介します。
検証は Ubuntu 上で行っています。
Docker volume の保存先を調べる
Docker volume の使用容量を調べるために、まずはボリュームがホストマシンのどの位置にマウントされているのか調べます。
今回は既に作成されている環境で検証しています。ご自身の環境に合わせて実行してください。
$ docker volume inspect [volume_name]
volume_name
は調べたい Docker ボリュームの名前に置き換えてください。
このコマンドを実行すると、JSON 形式で出力される情報にボリュームの詳細が含まれています。
$ docker volume inspect lscraping-app_db
[
{
"CreatedAt": "2023-06-11T05:22:33+09:00",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "laravel-scraping-app_devcontainer",
"com.docker.compose.version": "2.18.1",
"com.docker.compose.volume": "db-store"
},
"Mountpoint": "/var/lib/docker/volumes/lscraping-app_db/_data",
"Name": "lscraping-app_db",
"Options": null,
"Scope": "local"
}
]
Mountpoint
に表示されているパスが volume が格納されている場所です。
du コマンドでディレクトリの容量を調べる
volume が格納されているディレクトリの容量を調べます。
$ sudo du -sh /var/lib/docker/volumes/lscraping-app_db/_data
212M /var/lib/docker/volumes/lscraping-app_db/_data
212M であることが分かります。
コマンドのオプションは以下のとおりです。
オプション | 意味 |
---|---|
-s | 指定したディレクトリの総合計を表示します。 |
-h | 出力を人間が読みやすいフォーマット(K、M、G など)で表示します。 |
サブディレクトリも含めた容量を調べる
ターゲットを/var/lib/docker/volumes/
に絞り、docker volume 全体でどれだけ容量を使用しているのか調べます。
まずはサブディレクトリを含めない方法で実行します。
$ sudo du -sh /var/lib/docker/volumes/
1.5G /var/lib/docker/volumes/
1.5GB 使用しているようです。
次にサブディレクトリも含めて出力されるように実行します。
$ sudo du -h -d 1 /var/lib/docker/volumes/
24K /var/lib/docker/volumes/4a027ed605cc0d6150589b07c695b7c7777148e2ab56649d963e722f87cc1ff8
57M /var/lib/docker/volumes/72d99634aa93f55d2387552a8035d9493d86074970beab1bc6637d6840b0cbf0
189M /var/lib/docker/volumes/xxxxxxxxxx
210M /var/lib/docker/volumes/xxxxxxxxxx
188M /var/lib/docker/volumes/xxxxxxxxxx
188M /var/lib/docker/volumes/xxxxxxxxxx
8.0K /var/lib/docker/volumes/xxxxxxxxxx
57M /var/lib/docker/volumes/f009da521edaafbaa7de9b54c27b146e3a66e6effab926723d19a89f1234f48e
212M /var/lib/docker/volumes/lscraping-app_db
365M /var/lib/docker/volumes/vscode
1.5G /var/lib/docker/volumes/ # ←★合計
-d 1
とオプションを指定することで、直下のサブディレクトリの使用容量を表示します。
-d 2
とすると、サブディレクトリよりももう一つ下の階層のディレクトリの仕様容量まで表示する事ができます。