メインコンテンツへスキップ

Docker pruneとは?不要なイメージ・コンテナ・ボリュームを削除する方法

·1448 文字·3 分

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 -a

docker volume prune
#

未使用のボリュームを削除します。

docker volume prune

ボリュームはアプリケーションのデータが保存されている可能性があるため、 削除前に内容を確認することをおすすめします。


docker network prune
#

未使用のネットワークを削除します。

docker network prune

docker 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         800MB

Docker 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 を実行するのがおすすめです。


📘 関連資料
#

Docker公式ドキュメント
著者
ゆーふー
Web開発、インフラ、AI技術に興味があるエンジニアです。日々の学びを記録しています。

関連記事

👤 運営者プロフィール

運営者プロフィール画像

ゆーふー

メガベンチャーで働く現役Webエンジニア(歴約2年)。
フロントエンドからインフラ構築、セキュリティ対策まで、実務で得た「現場のリアルな技術知見」を発信しています。