Проверка здоровья в Docker
Проверка здоровья периодически запускает команду внутри контейнера и помечает, жива ли программа. Служба смотрит код выхода этой команды и обновляет поле здоровья в списке контейнеров.
Основа - alpine.
Главный процесс ждёт,
а проверка печатает ok.
Образ web:
FROM alpine
CMD ["sleep", "300"]
HEALTHCHECK CMD echo ok
Сборка с меткой -t web .
и фоновый запуск с именем
web:
docker build -t web .
docker run -d --name web web
Строка здоровья в списке контейнеров появится не сразу: службе нужно время на первый запуск проверки. Позже в колонке статуса можно увидеть, что копия прошла проверку или ещё стартует. Откроем список запущенных:
docker ps --filter name=web
Соберите образ idle на alpine с ожиданием триста секунд и проверкой, которая печатает fine, затем запустите копию idle в фоне с именем idle.
Через минуту снова откройте список запущенных и опишите, что изменилось в статусе здоровья для idle.