Политика перезапуска в Docker
Политика перезапуска сама включает контейнер снова, если его программа завершилась или служба перезапустилась. Это не ручной перезапуск уже работающей копии одной командой из базового курса. Правило задают при создании контейнера флагом перезапуска.
Фоновый контейнер lamp
с политикой unless-stopped
задают так:
docker run -d --name lamp --restart unless-stopped alpine sleep 300
Значение unless-stopped
означает: поднимать копию снова,
пока её сами не остановили вручную.
Если главный процесс упадёт раньше
срока, служба создаст новый процесс
в той же записи.
После ручной остановки автоматический
подъём не сработает, пока правило
не сменят или контейнер не создадут
заново.
Создайте фоновый контейнер guard на alpine с автоподъёмом, пока копию сами не остановили, и ожиданием шестьсот секунд.
Остановите guard вручную и проверьте в полном списке, что копия не поднялась снова сама.