UbuntuでDockerの容量を削減する具体的な方法を解説してます
UbuntuでDockerを長期間運用していると、イメージやコンテナ、ボリューム、ログファイルなどが蓄積し、ディスク容量を圧迫することがあります。特に「No space left on device」が発生した場合は、Docker関連の不要データを整理することで大幅に空き容量を確保できることがあります。本記事では、UbuntuでDockerの容量を削減する具体的な方法を解説します。
現在のDocker使用量を確認する
まずはDockerがどの程度の容量を使用しているか確認します。
docker system df実行例

どの項目が容量を消費しているか把握できます。
未使用コンテナを削除する
停止済みコンテナは不要であれば削除できます。
確認
docker ps -a
停止済みコンテナを削除
docker container prune確認メッセージを省略する場合
docker container prune -f使用していないコンテナ分の容量を回収できます。
未使用イメージを削除する
利用していないDockerイメージは容量を多く消費します。
未使用イメージ削除
docker image pruneすべての未使用イメージを削除
docker image prune -a注意点として、「-a」を付けると現在利用中でないイメージは削除されるため、再利用時に再ダウンロードが必要になります。
未使用ボリュームを削除する
Dockerボリュームはデータ保持のために利用されます。
一覧確認
docker volume ls未使用ボリューム削除
docker volume prune強制実行
docker volume prune -fデータベースなど重要なデータが含まれていないか事前に確認してください。
ビルドキャッシュを削除する
Docker Buildを繰り返している環境ではキャッシュが肥大化します。
削除
docker builder pruneすべて削除
docker builder prune -aCI/CD環境では数GB以上削減できる場合があります。

不要なリソースをまとめて削除する
未使用リソースを一括で削除できます。
docker system pruneボリュームも含めて削除
docker system prune -a --volumes実行例
Deleted Containers:
Deleted Images:
Deleted Volumes:非常に強力なコマンドのため、本番環境では内容を十分確認してから実行してください。
Dockerログを削除する
Dockerログは肥大化しやすい原因の一つです。
ログファイル検索
sudo find /var/lib/docker -name "*-json.log" -exec ls -lh {} \;ログパス確認
docker inspect コンテナID | grep LogPathログ内容を空にする
sudo truncate -s 0 ログファイルのパス例
sudo truncate -s 0 /var/lib/docker/containers/xxxxxxxx/xxxxxxxx-json.logログファイル自体は残したまま容量を削減できます。
ログローテーションを設定する
今後の肥大化防止も重要です。
設定ファイル編集
sudo nano /etc/docker/daemon.json設定例
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}Docker再起動
sudo systemctl restart docker最大50MBまで自動ローテーションされます。
Dockerの保存場所を確認する
Dockerデータディレクトリを確認します。
docker info | grep "Docker Root Dir"例
Docker Root Dir: /var/lib/docker別ディスクへ移行している場合は、その保存先を確認して容量調査を行います。
ディレクトリごとの容量を確認する
Docker内部のどこが肥大化しているか調査します。
sudo du -sh /var/lib/docker/*サイズ順表示
sudo du -h /var/lib/docker --max-depth=1 | sort -rh確認対象
・containers
・overlay2
・volumes
・image
・buildkit
特に「overlay2」が大きい場合は不要イメージの削除が効果的です。
削除後の容量を確認する
作業後は空き容量を確認します。
Docker使用量
docker system dfディスク使用量
df -h削減効果を確認し、十分な空き容量を確保できているか確認します。
まとめ
UbuntuでDockerの容量を削減する場合は、まず「docker system df」で使用状況を確認し、不要なコンテナ、イメージ、ボリューム、ビルドキャッシュを整理することが重要です。
また、Dockerログの肥大化も容量不足の大きな原因となるため、ログローテーション設定を行い、定期的にメンテナンスすることで安定した運用を実現できます。特に「docker system prune -a –volumes」は大きな効果がありますが、重要なデータを削除しないよう十分注意して実行しましょう。
・Docker公式ドキュメント(Docker system prune)
https://docs.docker.com/reference/cli/docker/system/prune/
・Docker公式ドキュメント(Docker system df)
https://docs.docker.com/reference/cli/docker/system/df/
・Docker公式ドキュメント(Docker image prune)
https://docs.docker.com/reference/cli/docker/image/prune/
・Docker公式ドキュメント(Docker container prune)
https://docs.docker.com/reference/cli/docker/container/prune/
・Docker公式ドキュメント(Docker volume prune)
https://docs.docker.com/reference/cli/docker/volume/prune/
・Docker公式ドキュメント(Configure logging drivers)
https://docs.docker.com/engine/logging/configure/
-
前の記事
AIOSEO で投稿のメタディスクリプションが保存できず「投稿の抜粋」に戻ってしまう問題の原因と解決方法 2026.06.10
-
次の記事
Ubuntuでアンインストールする全方法|apt remove・purge・OS削除を解説 2026.06.11
コメントを書く