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 秒。