我写了一个脚本,再容器外面执行,通过kill这个脚本,这个脚本内的程序是可以接受到kill信号的,但是放在docker的entrypoint中运行,通过stop这个容器,但是这个容器无法接受这个stop信号,必须等待10s才能被强制杀死,查阅了半天资料,发现在dockerfile中有一行这个关键字:
STOPSIGNAL SIGWINCH
这个关键字,把STOP信号,转换成了SIGWINCH信号了,导致我的程序无法捕捉到SIGTERM信号,无法正常退出,把他去掉就行,或者覆盖掉也行
我写了一个脚本,再容器外面执行,通过kill这个脚本,这个脚本内的程序是可以接受到kill信号的,但是放在docker的entrypoint中运行,通过stop这个容器,但是这个容器无法接受这个stop信号,必须等待10s才能被强制杀死,查阅了半天资料,发现在dockerfile中有一行这个关键字:
STOPSIGNAL SIGWINCH
这个关键字,把STOP信号,转换成了SIGWINCH信号了,导致我的程序无法捕捉到SIGTERM信号,无法正常退出,把他去掉就行,或者覆盖掉也行