Docker - Инструкция по HEALTHCHECK
Инструкция HEATHCHECK определяет состояние контейнера Docker. Он определяет, работает контейнер в нормальном состоянии или нет. Он выполняет проверки работоспособности через регулярные промежутки времени. Начальное состояние - запуск, и после успешной проверки состояние становится работоспособным. Если тест остается безуспешным, он переходит в нездоровое состояние .
Некоторые параметры, предоставляемые инструкцией HEALTHCHECK:
- –Interval = : определяет интервал между двумя проверками здоровья. Интервал по умолчанию - 30 секунд.
- –Timeout = : Если команда HEALTHCHECK превышает указанную продолжительность, она классифицируется как сбой. Продолжительность по умолчанию - 30 секунд.
- –Retries = : при достижении указанного числа повторных попыток состояние считается нездоровым. Количество повторных попыток по умолчанию - 3.
В этой статье мы увидим практические примеры того, как использовать команду HEALTHCHECK в вашем Dockerfile . Мы создадим контейнер Nginx и определим его состояния. Выполните следующие шаги, чтобы проверить работоспособность вашего файла докеров :
Шаг 1. Создайте Dockerfile
Вы можете использовать следующий шаблон для создания файла Dockerfile.
ОТ nginx: последний HEALTHCHECK --interval = 35s --timeout = 4s CMD curl -f https: // localhost / || выход 1 ЭКСПОЗИЦИЯ 80
В приведенном выше файле Dockerfile мы извлекаем базовый образ nginx и выполняем HEALTHCHECK с указанным интервалом и тайм-аутом.
Шаг 2. Создайте образ Docker
Мы можем создать образ Docker с помощью команды сборки.
sudo docker build -t healthcheck-demo.
Шаг 3: Запустите контейнер
Здесь мы проверим, существует ли файл nginx.conf или нет. Мы установим команду при запуске контейнера Docker.
sudo docker run --name = healthcheck-demo -d --health-cmd = 'stat /etc/nginx/nginx.conf || выход 1 'healthcheck-demo / * Эта строка должна быть без разрывов, это сделано для просмотра * /
Шаг 4: Определите состояние контейнера
Вы можете использовать команду inspect, чтобы определить состояние контейнера.
sudo docker inspect --format = '' healthcheck-demo
Вы получите всю информацию о контейнере вместе с состояниями во время всех проверок работоспособности.
В заключение, в этой статье мы обсудили, что такое инструкции HEALTHCHECK, для чего они нужны, а также различные варианты, которые вы можете использовать вместе с ними. Мы использовали контейнер nginx, чтобы продемонстрировать то же самое на практических примерах.