为什么Docker会杀死jvm?

时间:2017-11-15 07:27:05

标签: java docker marathon dcos

我在Docker容器中使用DCOS和Spring启动应用程序。我注意到有时容器会被杀死,但容器日志中没有错误,只有:

Killed
W1114 19:27:59.663599 119266 logging.cpp:91] RAW: Received signal SIGTERM 
from process 6484 of user 0; exiting

仅为SQL连接和磁盘空间启用HealthCheck。磁盘在所有节点上都可以,如果出现SQL问题,错误应该出现在日志中。其他原因可能是记忆,但它也看起来很好。 来自marathon.production.json

"cpus": 0.1,
"mem": 1024,
"disk": 0

docker-entrypoint.sh

java -Xmx1024m -server -XX:MaxJavaStackTraceDepth=10 -XX:+UseNUMA 
  -XX:+UseCondCardMark -XX:-UseBiasedLocking -Xms1024M -Xss1M 
  -XX:MaxPermSize=128m -XX:+UseParallelGC -jar app.jar

容器被杀的原因是什么?DCOS上是否有关于它的日志?

2 个答案:

答案 0 :(得分:0)

解决java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap

答案 1 :(得分:0)

或者仅使用openjdk:11.0-jre-slim