Как настроить автоматический перезапуск контейнеров с помощью πολιтик рестарта (Restart Policies)?
В реальных условиях эксплуатации контейнеры могут завершать свою работу из-за сбоев в коде, нехватки оперативной памяти или перезагрузки хост-машины. Чтобы приложение оставалось доступным без ручного вмешательства администратора, в Docker предусмотрен механизм политик перезапуска. Эти правила определяют, должен ли демон Docker автоматически перезапускать контейнер при его остановке.
Политика задается при создании или запуске контейнера с помощью специального флага. Доступно несколько вариантов поведения системы в зависимости от ваших задач. Например, можно настроить перезапуск только в случае непредвиденного сбоя с ненулевым кодом выхода.
Основные типы политик рестарта включают следующие варианты:
Для политики on-failure можно дополнительно ограничить количество попыток повторного запуска. Это полезно, чтобы бесконечно не нагружать систему неработающим приложением. Ограничение задается через двоеточие после названия политики вместе с числом попыток.
Грамотная настройка политик рестарта является базовым требованием для обеспечения высокой доступности приложений. Она избавляет разработчиков и системных администраторов от необходимости постоянно мониторить состояние контейнеров вручную.