РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcSpCsHc 70 of 98 menu
◀ ▶

Здоровье сервиса в Docker

Здоровье сервиса ждёт, пока проверка внутри не станет успешной, и только потом пускает соседа. Простой порядок старта лишь сдвигает создание контейнера и готовности не ждёт. Условие здоровья ждёт успеха проверки.

Сервис db на busybox держится в работе и получает периодическую проверку. Сервис app стартует только когда db здоров:

services: db: image: busybox command: ["sleep", "300"] healthcheck: test: ["CMD", "echo", "ok"] interval: 2s app: image: busybox command: ["sleep", "300"] depends_on: db: condition: service_healthy

Проверка внутри db часто повторяется с паузой в две секунды. Пока она не зелёная, app не считается запущенным по правилу зависимости. Поднимают проект в фоне:

docker compose up -d

В списке через мгновение видны оба сервиса. Разница проявляется при остановке db: сосед с условием здоровья не стартует, пока проверка снова не пройдёт.

Добавьте сервис store на busybox с короткой успешной проверкой и сервис gate, зависящий от здоровья store.

Поднимите проект в фоне и отметьте, что gate появляется после успешной проверки store.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить