アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


特定のDockerイメージに属するコンテナを一括削除してスッキリする

気づいたらあるDocker imageのコンテナが200個ほどできておりました。

docker rm コンテナ名 コンテナ名 コンテナ名

と複数指定して削除もできますが、200個は無理ということで、特定のdocker imageに属するdocker containerを一括削除するコマンドが以下です。

特定のDockerイメージに属するコンテナを一括削除するコマンド

docker rm $(docker ps -a | grep "Dockerイメージ名" | awk '{print $1}')

docker ps -a で起動していないものも含め全てのcontainer を列挙します。
これをgrepで絞込み、1つめに出力されるdocker container のIDを、docker rm に渡しています。

これでスッキリ!!

スッキリしました。

追記: もっとスッキリ書ける方法

ブコメにてもっといい方法を皆様に教えていただけました。ありがとうございます!!

bottomzlife さんおすすめの方法

$ docker rm $( docker ps -qa --filter name=image名 )

mapk0y さんおすすめの方法

$ docker rm $(docker ps -a -q -f ancestor=image名)