このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:Dockerの大掃除!docker system prune コマンド徹底解説

Dockerの大掃除!docker system prune コマンド徹底解説
Dockerを使っていると、いつの間にか使わないコンテナやイメージが溜まって、ディスク容量を圧迫してしまうことがあります。そんな時に役立つのが docker system prune コマンドです。まさに「Dockerの大掃除」といえるコマンドで、一気に不要なオブジェクトを整理できます。ただし、強力なコマンドなので実行時には注意も必要です。ここでは、仕組みや使い方、オプションをわかりやすく解説していきます。

docker system prune とは?
docker system prune は、Dockerシステム内の未使用オブジェクトをまとめて削除するコマンドです。
削除対象となるのは以下のリソースです。
- 停止したコンテナ
- 使われていないネットワーク
- 参照されていないイメージ
- ビルドキャッシュ
- (オプション指定時のみ)未使用のボリューム
つまり、Docker環境を一気にスッキリさせたいときに使う「掃除機」のような存在です。
コマンドの基本書式
docker system prune [オプション]主なオプションと説明
| オプション | 説明 |
|---|---|
| -a, --all | タグがないイメージや参照されていないイメージを含む、未使用のすべてのイメージを削除する。 |
| --filter | 条件を指定して削除対象を絞り込む(例:--filter "until=24h" で24時間以上前に作成されたものを削除) |
| -f, --force | 確認プロンプトを出さずに強制実行する。 |
| --volumes | 未使用のボリュームも削除する(注意が必要) |
この表からもわかる通り、「-a」や「--volumes」を使うと削除対象が大きくなるので、データ消失には十分注意しましょう。
実際に試してみる流れ
1.現在の状況を確認
docker image lsでイメージ一覧を確認docker container ls -aでコンテナ一覧を確認実行例
実行例
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 353675e2a41b 12 days ago 117MB
almalinux latest 375aa0df1af5 13 days ago 276MB
nginx latest d5f28ef21aab 5 weeks ago 279MB
httpd latest 027c678f36d3 6 weeks ago 174MB
rockylinux 9.3 d7be1c094cc5 22 months ago 259MB
PS C:\Users\joeac> docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
32003149351d almalinux "/bin/bash" 6 hours ago Exited (0) 6 hours ago alma_container
845de320eb14 rockylinux:9.3 "/bin/bash" 8 hours ago Exited (0) 8 hours ago rocky_container
34cc5808b22c ubuntu "/bin/bash" 10 hours ago Exited (0) 10 hours ago ubuntu_container
9de19b972df1 httpd "httpd-foreground" 13 hours ago Exited (0) 11 hours ago webserver3
345ea0323add nginx "/docker-entrypoint.…" 23 hours ago Exited (0) 23 hours ago webserver2
bc81431c0254 nginx "/docker-entrypoint.…" 23 hours ago Exited (0) 23 hours ago webserver1
PS C:\Users\joeac>2.docker system prune -a を実行
PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N]3.削除結果の確認
- イメージやコンテナが空になり、
- 「Total reclaimed space: ○.○GB」と表示されて、どれくらいディスク容量が解放されたか確認できます。
注意点

- 重要なデータが消えないか確認
特に--volumesを使うとボリュームも削除されるので、データベースやログなど必要なデータが消える危険があります。 - 強制削除 (-f) の使い方に注意
プロンプトなしで削除されるため、本当に不要な環境でのみ使うのが安心です。
まとめ
docker system prune は、Docker環境を整理してディスク容量を取り戻すための便利なコマンドです。
- デフォルトでは停止コンテナや未使用ネットワーク、宙ぶらりんイメージを削除
- -a で未使用イメージも一掃、--volumes で未使用ボリュームも対象に
- -f を使うと確認なしで削除されるので要注意
まさに「Dockerの断捨離」。使いこなせば、常にスッキリした環境で開発や運用ができます。
