Sobes.tech
Junior — Middle

¿Cómo se puede automatizar el reinicio de un contenedor en caso de que finalice de forma anormal?

sobes.tech AI

Respuesta de la IA

Для автоматизации перезапуска контейнера при его аварийном завершении в 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

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