Sobes.tech
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

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