docker container stop
| 描述 | 停止一個或多個正在執行的容器 |
|---|---|
| 用法 | docker container stop [OPTIONS] CONTAINER [CONTAINER...] |
| 別名 | docker stop |
描述
容器內的主程序將收到 SIGTERM,在寬限期後收到 SIGKILL。第一個訊號可以透過容器的 Dockerfile 中的 STOPSIGNAL 指令,或 docker run 和 docker create 的 --stop-signal 選項進行更改。
選項
| 選項 | 預設值 | 描述 |
|---|---|---|
-s, --signal | 傳送給容器的訊號 | |
-t, --timeout | 在終止容器前等待的秒數 |
示例
$ docker stop my_container
使用訊號停止容器 (-s, --signal)
--signal 標誌向容器傳送系統呼叫訊號以退出。此訊號可以是 SIG<NAME> 格式的訊號名稱,例如 SIGKILL,也可以是與核心系統呼叫表中的位置匹配的無符號數,例如 9。有關可用訊號,請參閱 signal(7)。
使用的預設訊號由映象的 StopSignal 定義,可以在構建映象時透過 STOPSIGNAL Dockerfile 指令設定,或在建立容器時使用 --stop-signal 選項配置。如果未為容器配置訊號,則預設使用 SIGTERM。
使用超時停止容器 (-t, --timeout)
--timeout 標誌設定在傳送預定義(參見 [--signal]{#signal})系統呼叫訊號後,等待容器停止的秒數。如果容器在超時時間過後仍未退出,則會強制使用 SIGKILL 訊號將其終止。
如果將 --timeout 設定為 -1,則不應用超時,守護程序會無限期地等待容器退出。
預設超時可以透過在建立容器時使用 --stop-timeout 選項指定。如果容器未配置預設值,守護程序將確定預設值,對於 Linux 容器為 10 秒,對於 Windows 容器為 30 秒。