Docker コマンドには 使用していないリソースをまとめて消去する 用途として prune オプションがありますが、使用しているしていないに関わらずとにかくまとめて全消去、というオプションは用意されていません。
まとめてスクラップアンドビルドしたい場面に遭遇した、そんな貴方へ。
本当に警告なしに全部消えますので、ご利用は計画的に。
とにかく全部まとめて volume を消したい
docker volume rm `docker volume ls --format "{{.Name}}"`
とにかく全部まとめて image を消したい
docker image rm `docker image ls --format "{{.ID}}"`
解説
volume ls
や image ls
など ls 系コマンドのオプションに --format
があります。
formatオプションにわたす値は Goテンプレート となっており、Goの文法に沿った柔軟な表現が可能です。
今回は削除したいボリュームやイメージの識別子が欲しかったため、識別子だけを表示するフォーマットを指定し、バッククォートでコマンド展開することで rm
コマンドの引数としています。