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
Это позволит автоматически управлять жизненным циклом контейнера без дополнительного вмешательства.