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


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

 このコマンドは、起動中のコンテナの再起動を行います。

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

 

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

フォーマット

docker restart [オプション] [コンテナ] [コンテナ]

 

主なオプション一覧

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

■ 本記事の目次に戻る ■

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

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

 

起動中のコンテナを再起動する

 コンテナの再起動を行うために、まずテスト用のコンテナを起動します。

$ docker run -d --name testvm centos init

 docker psコマンドにて起動確認を行います。

$ docker ps
CONTAINER ID  IMAGE   COMMAND  CREATED         STATUS        PORTS   NAMES
0dacd076b527  centos  "init"   22 minutes ago  Up 20 minutes         testvm

 コンテナtestvmが起動していることが確認できました。

 では、docker restartコマンドにてコンテナの再起動を行います。

$ docker restart testvm

 docker psコマンドにて起動確認を行います。

$ docker ps
CONTAINER ID  IMAGE   COMMAND CREATED          STATUS       PORTS   NAMES
0dacd076b527  centos  "init"  32 minutes ago   Up 3 seconds         testvm

 再起動を行う前のSTATUSの値を見比べてください。再起動を行ったあとは「Up 3 seconds」と表示されています。これは「このコンテナは起動して3秒経過している」ことを表しています。よってdocker restartコマンドで再起動されたことがわかります。

 

 念のため、docker stopコマンドとdocker startコマンドを連続して実行した後、docker psコマンドで確認してみたのですが、結果はdocker restartコマンドで再起動したときと同じでした。

 

コンテナを複数指定した場合の挙動

 docker restartコマンドで、コンテナを複数指定した場合は、指定した順番にコンテナの再起動が行われます。

 テスト用にもう一つコンテナtestvm2を起動します。

$ docker run -d -p 50001:30000 --name testvm2 -v /opt centos init

 docker psコマンドで2つのコンテナが起動していることを確認します。

$ docker ps
CONTAINER ID  IMAGE  COMMAND CREATED        STATUS       PORTS                    NAMES
784954217bba  centos "init"  4 minutes ago  Up 3 minutes 0.0.0.0:50001->30000/tcp testvm2
330e75dfe34f  centos "init"  17 minutes ago Up 3 minutes 0.0.0.0:50000->30000/tcp testvm

 以下のコマンドで二つのコンテナの再起動を行います。

$ docker restart testvm testvm2

 二つのコンテナ名が出力され、プロンプトが戻りました。

testvm
testvm2
$

 指定した複数のコンテナの最初から順番に再起動が行われていくことが確認できました。

 念のため、以下のコンテナの順序を入れ替えて試してみました。

$ docker restart testvm2 testvm
testvm2
testvm

 指定した順番に再起動が行われることが確認できました。

 

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

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

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

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


コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください