docker container stop
| 描述 | 停止一个或多个运行中的容器 |
|---|---|
| 用法 | docker container stop [OPTIONS] CONTAINER [CONTAINER...] |
| 别名 | docker stop |
描述
容器内的主进程将接收 SIGTERM,并在一段宽限期后接收 SIGKILL。第一个信号可以通过容器 Dockerfile 中的 STOPSIGNAL 指令,或者 --stop-signal 选项来 docker run 和 docker create 进行更改。
选项
| 选项 | 默认 | 描述 |
|---|---|---|
-s, --signal | 发送到容器的信号 | |
-t, --time | 杀死容器前等待的秒数 |
示例
$ docker stop my_container
使用信号停止容器 (-s, --signal)
--signal 标志向容器发送系统调用信号以退出。
该信号可以是格式为 SIG<NAME> 的信号名称,例如
SIGKILL,或者是与内核系统调用表中位置匹配的无符号数字,例如 9。请参阅
signal(7)
了解可用信号。
默认使用的信号由镜像的
StopSignal,
定义,可以在构建镜像时通过
STOPSIGNAL
Dockerfile 指令进行设置,或者在创建容器时使用
--stop-signal
选项进行配置。如果容器未配置信号,则默认使用 SIGTERM。
停止容器并设置超时时间 (-t, --timeout)
--time 标志设置了在发送预定义(参见 [--signal]{#signal)) 系统调用信号后等待容器停止的秒数。如果超时后容器仍未退出,它将被 SIGKILL 信号强制终止。
如果将 --time 设置为 -1,则不应用超时,守护进程会无限期地等待容器退出。
可以使用
--stop-timeout
选项在创建容器时指定默认超时时间。如果没有为容器配置默认值,
则由守护进程确定默认值,Linux 容器为 10 秒,
Windows 容器为 30 秒。