Почему Докер убивает JVM?

Я использую DCOS с загрузочными приложениями Spring внутри контейнеров Docker. Я заметил, что иногда контейнеры уничтожаются, но в журналах контейнеров нет ошибок, только:

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

HealthCheck включен только для подключения SQL и дискового пространства. Диск исправен на всех узлах, в случае проблем с 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 по этому поводу?

1 ответ

Решение

Решено с java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap

Или просто используйте openjdk:11.0-jre-slim

Другие вопросы по тегам