docker stopでコンテナを止める(個別 / まとめて / タイムアウト)

  • Docker

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

コンテナを個別に止める

起動中のコンテナ一覧を確認する。

docker ps -a

止めたいコンテナのIDを指定する。

docker stop <コンテナID>

コンテナ名/IDはスペース区切りで複数指定すれば一括で止まる。

docker stop container1 container2 container3

コンテナをまとめて止める

起動中の全コンテナを一括で止めたいときは、docker ps -q でIDの一覧を取得して docker stop に渡す。

docker stop $(docker ps -q)

-q は起動中のコンテナのみが対象。停止中のものも含めて確認したいだけなら docker ps -aq を使うが、stop は起動中のコンテナにしか意味がないので、止める用途では -q で十分。

(注: docker images -q はイメージIDの一覧なので、stop に渡しても対象のコンテナは止まらない。)

タイムアウトのオプション

docker stop はデフォルトでコンテナにSIGTERMを送り、猶予期間(10秒)経っても終了しない場合にSIGKILLを送る。この猶予期間は -t(--time)オプションで変更できる。

docker stop -t 30 <コンテナID>