Docker コンテナ等を一括削除する
複数コンテナとボリューム等を一気に削除したい場合、コマンド内で$( )を用いると便利ですので備忘録として共有いたします
確認、停止、削除関連コマンド
用途 | 個別に実行する場合のコマンド | 一気に実行する場合のコマンド |
---|---|---|
コンテナ名の確認 | docker ps -a | - |
コンテナ停止 | docker stop コンテナ名 | docker stop $(docker ps -q -a) |
コンテナ削除 | docker rm コンテナ名 | docker rm $(docker ps -q -a) |
ボリューム確認 | docker volume ls -q | - |
ボリューム削除 | docker volume rm ボリューム名 | docker volume rm $(docker volume ls -q) |
イメージ確認 | docker image ls -q | - |
イメージ削除 | docker rmi イメージ名 | docker rmi $(docker images -q) |
便利なコマンド置換 $( )
コンテナ停止を例にすると、個別のコンテナを停止する場合は「docker stop コンテナ名」のようにコンテナ名を指定します。一方、すべてのコンテナを一括で停止する場合は「docker stop $(docker ps -q -a)」のように記述します。このコマンドにおける $(docker ps -q -a) の部分は、コマンド置換と呼ばれる機能を利用しています。この構文を使うと、$( ) 内のコマンドが実行され、その結果が元のコマンドラインの該当箇所に展開されます。