You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Entrypoint镜像执行docker restart时Docker发送的信号咨询

问题解答

当执行docker restart命令时,Docker的停止流程分为两步:

  • 首先向容器内的PID 1进程(也就是你的自定义Entrypoint脚本/程序)发送**SIGTERM**信号,通知进程优雅退出;
  • 如果等待10秒(Docker默认的停止超时时间)后,进程仍未退出,Docker会发送**SIGKILL**信号强制终止容器,这就是你看到“10秒后强制终止”的原因。

而你用docker run -it启动容器并按下C-c时,终端会向容器内的前台进程发送SIGINT信号,你的Entrypoint应该已经处理了这个信号,所以能在10秒内正常停止容器。

要解决这个问题,你需要在自定义Entrypoint中添加对SIGTERM信号的处理逻辑,让它收到该信号时,能优雅地停止所有子服务并退出,这样docker restart时就不会触发强制终止了。

内容的提问来源于stack exchange,提问作者user3054986

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:12:04