Sobes.tech
Назад к вопросам
Junior — Middle
71

Каким образом можно автоматизировать перезапуск контейнера в случае его аварийного завершения?

Компании, где спрашивали
НОРБИТ

Ответ от нейросети

sobes.tech AI

Для автоматизации перезапуска контейнера при его аварийном завершении в Docker можно использовать параметр --restart при запуске контейнера.

Основные варианты значения --restart:

  • no — не перезапускать контейнер (по умолчанию).
  • on-failure — перезапускать контейнер только при ошибочном завершении (с ненулевым кодом выхода).
  • always — всегда перезапускать контейнер, независимо от причины остановки.
  • unless-stopped — перезапускать контейнер, кроме случаев, когда он был остановлен вручную.

Пример запуска контейнера с автоматическим перезапуском при сбое:

docker run --restart on-failure:3 my-container-image

Здесь контейнер будет перезапущен до 3 раз при аварийном завершении.

Если используется Docker Compose, можно добавить в docker-compose.yml:

restart: on-failure

Это позволит автоматически управлять жизненным циклом контейнера без дополнительного вмешательства.