Junior — Middle
Hoe kan het opnieuw starten van een container automatisch worden gedaan in geval van een onverwachte beëindiging?
sobes.tech AI
Antwoord van 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
Это позволит автоматически управлять жизненным циклом контейнера без дополнительного вмешательства.