Docker

Dockerで起動中のコンテナを全部停止して削除する

More than 3 years have passed since last update.

Dockerで適当に色々試すときにnameを付けないとIDを指定して止めたり削除したりしないといけません。これがめんどうになってきたので簡単なやり方。

docker psコマンドに-qってオプションがあるのですが、これを使うと起動中のコンテナのIDだけがずらっと並びます。

vagrant@vagrant-ubuntu-trusty-64:~$ docker ps -q

4730aed2e567
bcf155170c55
bf224ca539b2

なのでxargsと連携させてこんな感じにすると、起動中のコンテナを綺麗さっぱり消すことができます。

vagrant@vagrant-ubuntu-trusty-64:~$ docker ps -q | xargs docker stop | xargs docker rm

4730aed2e567
bcf155170c55
bf224ca539b2

docker killを使ってもいいんですけど気分的にいやなので、stoprmで。ちなみに、docker stopdocker rmも実行後に標準出力にIDが出力されるのはこのような使い方を意図してなんでしょうね。

もし最後に起動したのだけを消したい場合は、docker ps -q -lとすればよいです。

vagrant@vagrant-ubuntu-trusty-64:~$ docker ps -q -l | xargs docker stop | xargs docker rm

4730aed2e567


環境


  • Docker 0.10.0