docker kill
説明
起動コンテナーを 1 つまたは複数 kill します。
利用方法
$ docker kill [オプション] CONTAINER [CONTAINER...]
追加説明
docker のサブコマンドdocker killは、コンテナー 1 つまたは複数 kill します。
コンテナー内のメインプロセスに対して、デフォルトではSIGKILLシグナルが送信されます。
あるいは--signalオプションを指定すると、そのシグナルが送信されます。
コンテナーを参照する際には、コンテナー ID、ID のプレフィックス、コンテナー名を指定します。
--signal (またはその短縮形-s) フラグは、 コンテナーに送信するシステムコールシグナルを設定します。
そのシグナルには、たとえばSIGINTのように、SIG<NAME>形式のシグナル名を用いることができます。
あるいは、カーネルの syscall テーブルの位置を示す unsigned の数値、たとえば2を用いることもできます。
デフォルトのシグナル (SIGKILL) がコンテナーを停止しようとする際に、--signalによって設定されたシグナルが、端末から実行するタイプのものではない場合があります。
これはコンテナーの主プロセスによって異なります。
たとえばたいていの場合、シグナルSIGHUPは、端末からの実行タイプではありません。
その場合、コンテナーはそのシグナルを受信した後も、実行し続けることになります。
メモ
シェル 形式による
ENTRYPOINTおよびCMDは、/bin/sh -cの子プロセスとして実行されます。 これはシグナルを受け渡ししません。 つまりその実行モジュールはコンテナーの PID 1 ではなく、Unix シグナルを受信しないことを意味します。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
| 名前/省略形 | デフォルト | 説明 |
--signal , -s |
KILL |
コンテナーに送信するシグナル。 |
利用例
コンテナーへの KILL シグナルの送信
以下の例ではmy_containerという名前のコンテナーに対して、デフォルトのSIGKILLシグナルを送信します。
$ docker kill my_container
コンテナーへの指定シグナルの送信
以下の例ではmy_containerという名前のコンテナーに対して、SIGHUPシグナルを送信します。
$ docker kill --signal=SIGHUP my_container
シグナルの指定においては、シグナル名、シグナル番号を指定することができます。
プレフィックスSIGは任意であるため、以下に示す例はいずれも同じになります。
$ docker kill --signal=SIGHUP my_container
$ docker kill --signal=HUP my_container
$ docker kill --signal=1 my_container
標準的な Linux のシグナル一覧については、man ページ signal(7) を参照してください。
上位コマンド
| コマンド | 説明 |
|---|---|
| docker | Docker CLI の基本コマンド |