首页/云/Docker 容器速查/docker run 停止信号与超时
基础命令50 条

docker run 停止信号与超时

定义 docker stop 先发什么信号、等待多久再强杀,用来给应用争取优雅退出的时间;不设置时默认 SIGTERM、10 秒超时。

Docker 容器速查云更新于 2026-10-12
用途定制停止信号与宽限期
语法--stop-signal SIGQUIT 等;--stop-timeout 秒数
默认SIGTERM,超时后 SIGKILL

示例

示例
docker run -d --stop-signal SIGQUIT --stop-timeout 30 nginx:1.27-alpine
docker stop -t 30 web        # 仅本次停止放宽到 30 秒
SIGKILL(9) 不给进程清理机会,只能作为兜底;需要落盘或摘流量的服务把信号设成应用支持的优雅停止信号。

易错点

  • nginx 官方镜像的 STOPSIGNAL 是 SIGQUIT;覆盖成 SIGTERM 与否影响是否平滑关闭连接
  • 超时机制不会因为进程忽略信号而豁免,时间一到照样 SIGKILL,长事务清理要放快

数据来源与参考

  • Docker 官方 CLI 参考:docker run --stop-signal / --stop-timeout(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌