docker在1.9之后的dockerfile中新增关键字STOPSIGNAL定义后如何使用?


docker在1.9之后的dockerfile中新增关键字STOPSIGNAL有什么用途?
在什么情况下,该关键字起作用?
已邀请:

ziqingjhy

赞同来自: 乖蜀黍很囧


默认的stop-signal是SIGTERM,在docker stop的时候会给容器内PID为1的进程发送这个signal,通过--stop-signal可以设置自己需要的signal,主要的目的是为了让容器内的应用程序在接收到signal之后可以先做一些事情,实现容器的平滑退出,如果不做任何处理,容器将在一段时间之后强制退出,会造成业务的强制中断,这个时间默认是10s

muicoder

赞同来自:


允许在 Dockerfile 中定义 stop signal,也可以通过 create/run 的参数 --stop-signal 设置。
https://github.com/docker/docker/issues/8485
使用这个指令允许用户自定义应用在收到 docker stop 所发送的信号,是通过重写 signal 库内的 stopsignal 来支持自定义信号的传递,在上层调用时则将用户自定义的信号传入底层函数。

要回复问题请先登录注册