指定した名前のDockerコンテナが存在すればdocker stopコマンドを実行する
sudo docker ps -a --filter "name=app" | awk 'BEGIN{i=0}{i++;}END{if(i>=2)system("sudo docker stop app")}'
--fileter "name=app"
はdocker ps -a
の結果の中からコンテナ名がapp
であるものだけを表示するオプション。sudo docker ps -a --filter "name=app"
で出力された行数を awk でカウントし、2行以上であればapp
コンテナが存在するものとしてsudo docker stop app
を実行する。