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

Проверка готовности в Docker

Проверка готовности ждёт, пока сервер начнёт отвечать на команду, а не только пока процесс появился. Служба периодически запускает короткую команду внутри копии и отмечает успех или неудачу.

Сервис db на mongo:8.3 без пароля получает блок проверки с паузой 5 секунд:

services: db: image: mongo:8.3 healthcheck: test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping').ok"] interval: 5s timeout: 5s retries: 10

Команда mongosh с флагом --quiet спрашивает локальный сервер, отвечает ли он на ping. Фоновый подъём проекта выполняют так:

docker compose up -d

Список сервисов открывают подкомандой ps у docker compose. В таблице списка здоровье видно словами: сначала идёт ожидание, затем отметка успеха, когда база отвечает. Статус здоровья читают именно в списке сервисов:

docker compose ps

Добавьте проверку готовности сервису db с короткой паузой 3 секунды между попытками.

Поднимите проект в фоне и отметьте в списке сервисов, когда статус станет успешным.

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