Junior — Middle
Comment peut-on automatiser le redémarrage d'un conteneur en cas de terminaison anormale?
sobes.tech IA
Réponse de l'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
Это позволит автоматически управлять жизненным циклом контейнера без дополнительного вмешательства.