Docker - Инструкция по HEALTHCHECK

Опубликовано: 2 Марта, 2022

Инструкция 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, чтобы продемонстрировать то же самое на практических примерах.