Как Docker обрабатывает завершение работы системы?

Решение найдено :манифесты находились в неверном каталоге. Должен быть в каталоге

/etc/puppetlabs/code/environments/production/manifests
0
30.03.2020, 21:18
1 ответ

Ваши контейнеры должны получать SIGTERM, как и все другие процессы в системе.

Загвоздка в том, что SIGTERM получает основной процесс в контейнере (, запущенный ENTRYPOINT ). Если контейнер запускает сценарий для запуска двоичного файла, важно execбинарный файл, чтобы он стал процессом контейнера, в противном случае SIGTERM будет получен интерпретатором оболочки, который обычно не пересылает его дочернему процессу.

AFAIK docker stopсначала пробует SIGTERM в контейнере и ожидает, что он завершится в течение 10 секунд, если нет, он отправляет SIGKILL. Так что, если ваши контейнеры быстро останавливаются на docker stop, все должно быть в порядке.

1
19.03.2021, 02:31

Теги

Похожие вопросы