docker stopコマンドの使い方(実例で解説)

docker stopコマンド解説

 本記事はDocker ver24.0.7の環境で確認しています。

 このコマンドは、起動中のコンテナを停止することができます。

 コンテナ名をスペース区切りで複数指定することで、指定したコンテナを一度に停止することが可能です。

docker stopコマンドのフォーマットとオプション

フォーマット

docker stop [オプション] [コンテナ] [コンテナ...]

主なオプション一覧

オプション概説
-t強制終了処理が開始されるまでの時間(単位は秒)
を指定する。
デフォルトは10秒。

コマンド例

$ docker stop testvm
$ docker stop -t 2 testvm

docker stopコマンドの主な使い方

 以下で実例をまじえたコマンドの使い方を解説していきたいと思います。

実例では、Ubuntuの公式イメージにより起動したコンテナ(testvm)を使用します。

コンテナは「docker run -dit --init --name testvm ubuntu」で起動します。

※「--rm」オプションを付けておりませんので、ご利用後はコンテナ削除をお忘れなく。

基本事項の解説

 指定したコンテナを停止することができます。

 冒頭でふれましたとおり、スペース区切りで複数のコンテナを指定しますと、一度に複数のコンテナを停止することが可能です。

 複数停止させる場合は、左から順番に停止されます。その際、1つ停止したら次のコンテナの停止処理が開始します。 

 停止処理が開始されてから一定時間経過してもコンテナが停止しない場合は、強制終了されます。

 強制処理が実行されるまでの時間は指定可能です。デフォルトは10秒です。

起動中のコンテナを停止する

 以下のコマンドで、起動中のコンテナtestvmを停止します。

$ docker stop testvm

 docker psコマンドでtestvmコンテナが停止していることを確認します。

 その際、「-a」オプションを指定します。「-a」オプションが無い場合は、起動中のコンテナしか表示されません。

$ docker ps -a
CONTAINER ID   IMAGE   COMMAND      CREATED            STATUS                   PORTS        NAMES
c1c51a5aa9e6   ubuntu  "bash"       About a minute ago Exited (137) 2 seconds ago              testvm

 「STATUS」が「Exited」と表示されてますので、停止していることが確認できます。

強制終了時間を指定してコンテナを停止する

 「-t」オプションを付けて時間(単位は秒)を指定すると、コンテナの停止処理を開始してから、指定時間経過後に、強制終了を試みます。

 ここでいう強制終了とは、プロセスのkillを行うことを指します。

 シグナル的には、最初に「SIGTERM」で停止処理を行い、指定時間経過後に「SIGKILL」を送信します。

 「-t」を指定しない場合でも、デフォルト時間である10秒経過すると強制終了する仕様になってます。

おわりに

 以上でdocker stopコマンドの紹介を終わります。

 ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。

 他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerコマンドの一覧(オリジナルな実例付き)」をご参照ください。

 ご訪問ありがとうございました!

コメント