如何确定为什么sigterm被发送到在mesos上的docker容器内运行的进程?

时间:2017-07-03 13:50:20

标签: debugging docker mesos alpine sigterm

我有一个码头工人容器,我可以在当地优秀。然而,当在mesos集群上运行时,我得到了SIGTERMS

/usr/my_script.sh: line 57:   310 Killed xsltproc sort.xsl ${2} > ${2}_bat
W0703 09:09:54.465442  5074 logging.cpp:91] RAW: Received signal SIGTERM from process 2262 of user 0; exiting

我不明白这个问题的来源以及如何最好地调试它。我怎样才能知道是什么杀了我的容器?

我尝试将容器的RAM增加到4GB以上,但无济于事。此外,根据/usr/bin/time -v xsltproc sort.xsl offending_file.xml > sortedFile.xml,该过程应该只消耗1GB RAM。

我也尝试使用Google搜索W07035074 logging.cpp:91的错误输出,但无济于事。它还引出了一个问题,即为什么容器在本地运行时执行命令没有问题。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。我在Chronos上运行了一个docker容器,并将"command"字段留空,假设它在未被覆盖时将在Dockerfile中执行CMD。将命令显式复制到Mesos配置中为我解决了这个问题。