Docker предоставляет политики перезагрузки для автоматического управления поведением контейнеров при их завершении. Эти политики обеспечивают непрерывную доступность критических сервисов в контейнеризированных окружениях.
Docker предлагает несколько вариантов политик перезагрузки:
always - Автоматически перезапускает контейнер независимо от кода завершенияunless-stopped - Перезапускает контейнер, если только он не был явно остановленon-failure - Перезапускает только при завершении контейнера с ненулевым кодом выходаno - Не перезапускает контейнер автоматически (политика по умолчанию)Ты можешь указать политику перезагрузки, используя флаг --restart при создании или запуске контейнера:
docker run --restart always <image>
docker run --restart on-failure:5 <image>
docker run --restart unless-stopped <image>
Политика on-failure поддерживает опциональный параметр максимального числа попыток. Например, on-failure:5 попытается перезапустить контейнер до 5 раз, прежде чем остановиться.
always - Идеально для долгоживущих сервисов и микросервисов, которым требуется постоянная доступностьunless-stopped - Полезно для production-окружений, где может потребоваться ручное вмешательствоon-failure - Лучше всего подходит для batch-задач или сервисов, где временные сбои должны вызывать автоматическое восстановлениеВыбор подходящей политики перезагрузки зависит от критичности приложения и требований к обработке ошибок.
Policy unless-stopped автоматически перезагружает контейнер после перезагрузки системы, даже если контейнер был явно остановлен перед перезагрузкой.
Новый — ещё не проверен сообществом
Вы