Остановка контейнера Docker в среде Jelastic - PullRequest
0 голосов
/ 24 ноября 2018

При остановке контейнера Docker в собственной среде Docker по умолчанию он отправляет сигнал SIGTERM процессу init контейнера (PID 1), который должен быть фактическим приложением, которое затем должно правильно обрабатывать завершение работы.Однако при запуске контейнера в Jelastic это, похоже, не так, и вместо того, чтобы корректно завершать работу SQL-сервера, кажется, что каждый раз происходит сбой сервера.

Я попытался написать и включить службу Systemd, которая получает PID SQL, а затем отправляет SIGTERM на него, но, похоже, он не запускается, и, судя по журналам, вообще нет сообщений о завершении работы службы, простосообщения при запуске.

Итак, какие изменения потребуются для контейнера или среды, чтобы сервер получил сигнал SIGTERM и имел достаточно времени, возможно, несколько секунд, чтобы выполнить корректное завершение работы?

1 Ответ

0 голосов
/ 26 ноября 2018

спасибо за сообщение о проблеме, мы попытались воспроизвести проблему в нашей тестовой лаборатории и смогли получить точно такой же результат.Мы согласны с тем, что проблема действительно серьезная, поэтому сейчас мы решим ее с наивысшим приоритетом.Приносим свои извинения за доставленные неудобства.Хочу заметить, что из-за нашей первичной схемы мы также ожидаем, что процесс будет сначала завершен с сигналом «sigterm» и только после того, как в течение некоторого периода времени не будет получен результат завершения, система должна была отправить «sigkill», только после того, какпроцесс не может быть завершен изящно.Наши инженеры поработают над этим, чтобы глубже изучить проблему, и в ближайшее время выпустят исправление.

Спасибо!

...