Docker предлагает три основные политики перезапуска для управления поведением контейнера после завершения. Каждая политика подходит для разных сценариев использования и требований приложений.
Политика "no" полностью отключает автоматические перезапуски. Контейнер не будет перезапускаться ни при каких обстоятельствах, независимо от кода завершения.
Варианты использования:
Пример:
docker run --restart no my_container
Политика "on-failure" перезапускает контейнер только если он завершился с ненулевым кодом (что указывает на ошибку). Это позволяет автоматически восстанавливаться после временных сбоев, но не мешает штатной остановке.
Ключевые особенности:
Пример:
docker run --restart on-failure:3 my_container
(перезапускает до 3 раз при ошибке)
Политика "always" обеспечивает безусловный автоматический перезапуск независимо от кода завершения. Контейнер перезапускается даже после ручной остановки (кроме случаев перезапуска самого демона Docker).
Варианты использования:
Пример:
docker run --restart always my_container
Выбирай политику перезапуска исходя из критичности приложения и допустимости сбоев:
"no" для некритичных одноразовых задач"on-failure" для приложений с периодическими, устранимыми ошибками"always" для критичных сервисовПолитика перезапуска on-failure автоматически перезапустит контейнер, который завершит работу с кодом нуля, что делает её подходящей для обнаружения как успешного, так и неудачного выполнения.
Новый — ещё не проверен сообществом
Вы