以前に Docker で複数コンテナを一括停止/削除するというメモを書きました。 大した中身ではありませんが、これをスクリプト化すると以下のようになると思います。
#!/bin/sh
COUNT=`docker ps -a -q | wc -l`
if [ $COUNT != 0 ]; then
echo 'Stopping...'
docker stop $(docker ps -a -q)
echo 'Removing...'
docker rm $(docker ps -a -q)
fi
スクリプト名は任意ですが、シェルで補完しやすいような名前が好ましいと思われます。 今回は all-containers-stop
として /usr/local/bin
配下へアップロードしておきました。 ヒアドキュメントでファイルを作成する場合は以下のように実行します。
cat << 'EOF' > /usr/local/bin/all-containers-stop
#!/bin/sh
COUNT=`docker ps -a -q | wc -l`
if [ $COUNT != 0 ]; then
echo 'Stopping...'
docker stop $(docker ps -a -q)
echo 'Removing...'
docker rm $(docker ps -a -q)
fi
EOF
chmod 755 /usr/local/bin/all-containers-stop
コメント