如何优雅的关闭容器,看这一篇就够了
https://mp.weixin.qq.com/s/OojCtlC1HZkc5X9XYDecNg
不管你 Dockerfile
用其中哪个(ENTRYPOINT, CMD) 指令,两个指令都推荐使用 exec 格式,而不是 shell 格式。原因就是因为使用 shell 格式之后,程序会以 /bin/sh -c
的子命令启动,并且 shell 格式下不会传递任何信号给程序。这也就导致,在 docker stop
容器的时候,以这种格式运行的程序捕捉不到发送的信号,也就谈不上优雅的关闭了。
docker stop
停掉容器的时候,默认会发送一个 SIGTERM
的信号,默认 10s 后容器没有停止的话,就 SIGKILL
强制停止容器。
Comments
Post a Comment