docker stopコマンドの使い方(実例付)CE対応


 docker stopコマンドの使い方を解説します。Docker CE ver17.12.1に対応してます。

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

 停止処理が開始されてから、一定時間経過後に強制終了を行う仕様ですが、強制処理が実行されるまでの時間を指定することが出来ます。デフォルトは10秒です。

 

 それでは以下で詳細に解説いたします。

 

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

フォーマット

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

 

主なオプション一覧

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

■ 本記事の目次に戻る ■

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

 以下の実例は、CentOSの公式イメージにより起動したコンテナ(testvm)を使用します。コンテナは「docker run -d --name testvm centos init」で起動します。

 

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

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

$ docker stop testvm

 docker psコマンドでtestvmコンテナが停止していることを確認します。その際、「-a」オプションを忘れずに指定します。「-a」オプションが無い場合は、起動中のコンテナのみ表示されます。

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

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

■ 本記事の目次に戻る ■

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

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

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

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

 私の環境では、testvmを起動してから「-t」オプション無しで停止させると、停止するまで約8秒くらい掛かります。

$ docker start testvm
testvm
$ docker stop testvm
testvm

 しかし、以下のように「-t」で2秒を指定して停止すると、2~3秒で停止しました。

$ docker start testvm
testvm
$ docker stop -t 2 testvm
testvm

 

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

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

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

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


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です