Dockerを使い続けていると、
- ディスク容量が急に減る
- Docker Desktopが重くなる
- 何が容量を使っているのか分からない
といった状況になることがあります。
原因を調べてみると、
Docker volume が知らないうちに肥大化しているケースは非常に多いです。
この記事では、Dockerでvolumeが肥大化する主な原因と、データを失わずに安全に削除・整理する方法を、Mac環境向けに解説します。
※ 本記事は Mac + Docker Desktop を前提に説明します。
この記事でわかること
- Docker volume の役割と特徴
- volume が肥大化する典型パターン
- 削除前に必ず確認すべきこと
- 安全な削除・整理手順
Docker volume とは?
Docker volume は、
コンテナの外にデータを永続化する仕組みです。
- コンテナを削除してもデータは残る
- DBやログ保存に使われる
という特性があり、
意識しないと容量が増え続ける原因になります。
volumeが肥大化する主な原因
原因① コンテナを削除してもvolumeが残り続ける
Dockerでは、
docker rm コンテナ
を実行しても、
volumeは自動では削除されません。
そのため、
- コンテナ作成 → 削除
- volumeだけが残る
という状態が繰り返されます。
原因② DB・ログ系データが溜まり続ける
次のような用途のvolumeは、特に肥大化しやすいです。
- MySQL / PostgreSQL
- Redis
- アプリログ
ログローテーションをしていないと、
数GB単位で増えることもあります。
原因③ docker compose down で volume を削除していない
docker compose down
では、
volumeは削除されません。
そのため、
Composeを使っている環境ほど volume が溜まりやすくなります。
volume削除前に必ず確認すること
1. 本当に不要なvolumeか
volumeは データそのものです。
削除すると、
- DBデータ
- アップロードファイル
などが消える可能性があります。
2. 使用中のコンテナがないか
docker ps -a
で、
volumeを使っているコンテナが残っていないか確認します。
現在のvolume一覧を確認する
docker volume ls
不要なvolume名を確認します。
volumeがどのコンテナで使われているか確認
docker volume inspect ボリューム名
Mountpoint や Containers を確認し、
本当に未使用かを判断します。
安全な削除方法① 個別に削除する(推奨)
不要と判断できたvolumeを、
一つずつ削除します。
docker volume rm ボリューム名
👉 最も安全な方法です。
安全な削除方法② 未使用volumeをまとめて削除
完全に未使用のvolumeだけを削除したい場合:
docker volume prune
※ 使用中のvolumeは削除されません。
docker compose 利用時の注意点
Compose環境でvolumeも一緒に削除したい場合:
docker compose down -v
⚠️ DBデータも消えるため、慎重に実行してください。
やってはいけない対処法
- 何に使われているか分からないまま削除
- sudo を付けて無理に削除
- volumeとイメージを混同する
👉 volumeは 「データ」 である点を忘れないことが重要です。
それでも容量が減らない場合
- 未使用イメージ
- 停止中コンテナ
- キャッシュ
も同時に整理します。
docker system prune
※ 実行前に削除内容を必ず確認してください。
まとめ
Dockerでvolumeが肥大化する原因は、
- コンテナ削除後もvolumeが残る
- DB・ログデータが溜まり続ける
- down時にvolumeを削除していない
のいずれかです。
削除前に用途を確認し、未使用と判断できたものだけを整理することで、
安全にディスク容量を回復できます。
コメントを残す