← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 63: Healthcheck і статус сервісу

Технологія: Docker

Номер лабораторної: 63 · Рівень: middle

Тема: HEALTHCHECK для контейнерів

Повний опис / сценарій лабораторної:

Мета: навчитися використовувати HEALTHCHECK щоб оркестратор розумів реальний стан сервісу.



Крок 1. Створити невеликий веб сервіс який має endpoint статусу.

Пояснення: наприклад /healthz який повертає 200 коли все добре.



Крок 2. Написати Dockerfile без HEALTHCHECK.

Пояснення: зібрати базовий образ і запустити контейнер.



Крок 3. Перевірити вихідний код через curl.

Команда: curl http://localhost:port/healthz



Крок 4. Додати у Dockerfile інструкцію HEALTHCHECK.

Пояснення: наприклад curl -f http://localhost:port/healthz || exit 1.



Крок 5. Зібрати новий образ.

Команда: docker build -t lab63-app .



Крок 6. Запустити контейнер і подивитися статус здоровʼя.

Команда: docker run -d --name lab63 lab63-app; docker ps

Пояснення: у стовпці STATUS має зʼявитися healthy або unhealthy з часом.



Крок 7. Навмисно зламати endpoint.

Пояснення: зміни код або заблокуй порт щоб перевірити реакцію healthcheck.



Крок 8. Перевірити що контейнер стає unhealthy.

Команда: docker ps; docker inspect lab63 --format "{{.State.Health.Status}}"



Крок 9. Додати healthcheck у docker compose файл.

Пояснення: використай секцію healthcheck з test interval retries.



Крок 10. Міні звіт.

Завдання: опиши як healthcheck впливає на перезапуск контейнерів у Swarm або іншому оркестраторі.