Docker ENTRYPOINT脚本无法接收SIGTERM信号的问题求助
Docker ENTRYPOINT脚本无法接收SIGTERM信号的问题求助
大家好,我最近在做Docker容器相关的开发时遇到了一个棘手的问题,想请教一下各位大佬。
我的需求是:让容器在退出时,能把内部的数据保存到和宿主机绑定的目录中。为了实现这个,我在启动脚本里设置了SIGTERM信号的捕获,但实际运行时,这个捕获逻辑完全没触发。
先给大家看一下我的配置:
Dockerfile中的ENTRYPOINT配置
ENTRYPOINT ["/bin/bash","start.sh"]
start.sh脚本内容
trap 'echo "replace with command that saves data"' SIGTERM java -jar program.jar
问题核心是:这个trap命令完全没接住SIGTERM信号,导致我没法执行数据保存的逻辑。另外需要强调的是,我希望是start.sh脚本本身接收信号并处理数据保存,而不是让里面运行的Java程序来做这件事。
有没有朋友遇到过类似的问题?或者能帮我分析下哪里出问题了吗?
备注:内容来源于stack exchange,提问作者OctonalXX
相关产品推荐
相关产品推荐

