結論
docker system prune --all --volumes
docker system prune
docker system prune
ならば,停止したコンテナ,ネットワーク,宙ぶらりんイメージ(dangling image)を一括で削除します.--all
オプションを追加するとイメージも一括で削除します.--volumes
オプションを追加すると,ボリュームも一括で削除します.
$ docker system prune --all --volumes WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all images without at least one container associated to them - all build cache
実際に実行してみた
数ヶ月間様々なプロジェクトを扱って,たくさんの使わなくなったイメージやキャッシュが残っている docker 環境で実行してみました.
$ df -H Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p2 250G 45G 193G 19% / ...
$ docker system prune -a --volumes WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes 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] y ... Total reclaimed space: 14.84GB
Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p2 250G 18G 220G 8% /
再生された容量は 15 GB と表示されましたが,システム上は 27 GB 空きました.
部屋の大掃除は時間と体力と根気が要求されますが,Docker の大掃除は必要なファイルを退避させてからコマンド1個で完了するので簡単です.