Я запускаю Java-приложение dropwizard в контейнере Docker, используя изображение java:7u79
на основе debian/jessie
.
Приложение My Java обрабатывает сигнал SIGTERM
для изящества. Обработка SIGTERM
отлично работает, когда я запускаю приложение без Docker.
Когда я запускаю его в контейнере Docker, SIGTERM
не достигает приложения Java, когда я выдаю команду docker stop
. Он убивает процесс внезапно через 10 секунд.
Мой Dockerfile
:
FROM java:7u79
COPY dropwizard-example-1.0.0.jar /opt/dropwizard/
COPY example.keystore /opt/dropwizard/
COPY example.yml /opt/dropwizard/
WORKDIR /opt/dropwizard
RUN java -jar dropwizard-example-1.0.0.jar db migrate /opt/dropwizard/example.yml
CMD java -jar dropwizard-example-1.0.0.jar server /opt/dropwizard/example.yml
EXPOSE 8080 8081
Что не так с этим Dockerfile
? Есть ли другой способ решить эту проблему?