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) の部分は、コマンド置換と呼ばれる機能を利用しています。この構文を使うと、$( ) 内のコマンドが実行され、その結果が元のコマンドラインの該当箇所に展開されます。