Dockerを使用していると、不要なコンテナやイメージが溜まりディスク容量を圧迫することがあります。
そのような場合に便利なのが docker prune コマンドです。
docker prune を使用すると、未使用のコンテナ・イメージ・ネットワークなどをまとめて削除できます。
この記事では Dockerのpruneコマンドの使い方と注意点を、実例付きでわかりやすく解説します。
docker pruneとは?#
prune は 不要なリソースを削除するためのDockerコマンドです。
Dockerでは以下のようなデータが溜まりやすくなります。
- 停止したコンテナ
- 未使用のDockerイメージ
- 未使用のネットワーク
- 未使用のボリューム
prune を使用すると、これらの 未使用リソースを一括削除できます。
docker pruneで削除できるリソース#
Dockerでは以下のリソースを削除できます。
| コマンド | 内容 | 削除対象 |
|---|---|---|
docker container prune | 停止コンテナ削除 | 停止したコンテナ |
docker image prune | 未使用イメージ削除 | 未使用イメージ |
docker volume prune | 未使用ボリューム削除 | 未使用ボリューム |
docker network prune | 未使用ネットワーク削除 | 未使用ネットワーク |
docker system prune | 全リソース削除 | すべての未使用リソース |
docker container prune#
停止しているコンテナを削除します。
docker container prune実行すると以下の確認が表示されます。
WARNING! This will remove all stopped containers.削除して問題ない場合は y を入力します。
docker image prune#
未使用のDockerイメージを削除します。
docker image pruneすべての未使用イメージを削除したい場合は -a を使用します。
docker image prune -adocker volume prune#
未使用のボリュームを削除します。
docker volume pruneボリュームはアプリケーションのデータが保存されている可能性があるため、 削除前に内容を確認することをおすすめします。
docker network prune#
未使用のネットワークを削除します。
docker network prunedocker system prune#
docker system prune は、 Dockerの未使用リソースをまとめて削除するコマンドです。
開発環境のクリーンアップで最もよく使われるコマンドです。
docker system prune削除対象
- 停止コンテナ
- 未使用ネットワーク
- danglingイメージ
- ビルドキャッシュ
すべての未使用イメージも削除したい場合は -a を使用します。
docker system prune -aボリュームも含めて削除する場合#
docker system prune --volumesディスク使用量を確認する#
削除前にディスク使用量を確認したい場合は 以下のコマンドを使用します。
docker system df例
TYPE TOTAL ACTIVE SIZE
Images 10 4 3.2GB
Containers 6 1 120MB
Local Volumes 3 1 800MBDocker pruneの注意点#
削除したデータは復元できない#
prune で削除したリソースは 元に戻すことができません。
重要なデータが含まれていないか確認してから実行してください。
volume削除には注意#
docker volume prune は アプリケーションのデータを削除する可能性があります。
特に以下のような環境では注意してください。
- データベース
- 永続データを保存しているアプリ
よくあるエラー#
ボリュームが削除できない#
以下のようなメッセージが表示されることがあります。
volume is in use原因
ボリュームがコンテナで使用されているためです。
対処方法
使用しているコンテナを停止してから削除します。
docker stop container_nameよく使うdocker pruneコマンド#
開発環境のクリーンアップでは、以下のコマンドがよく使われます。
すべての未使用リソース削除
docker system prune未使用イメージも削除
docker system prune -aボリュームも削除
docker system prune -a --volumesまとめ#
Dockerでは、開発を続けていると不要なコンテナやイメージが溜まりやすくなります。
docker prune コマンドを使用することで
- 停止したコンテナ
- 未使用イメージ
- 未使用ボリューム
- 未使用ネットワーク
などを簡単に削除できます。
ディスク容量の節約や開発環境の整理のために、
定期的に docker prune を実行するのがおすすめです。










