intDataBlog
← ЖурналМаршруты обучения ↗

Современный Docker Compose: меньше обвязки, больше воспроизводимости

Compose давно перестал быть просто локальной игрушкой. Для dev-стендов и малых сервисов он закрывает большую часть рутины, если не прятать правила запуска в shell-скриптах.

Хороший compose-файл описывает сервисы, зависимости, healthcheck, volumes и profiles. Скрипт поверх него нужен только для редких сценариев, а не для каждого запуска.

Profiles вместо копий файлов

Через profiles удобно включать optional-сервисы: админку, worker, observability, тестовую базу. Один файл остается источником правды.

docker compose --profile tools up -d
docker compose ps

Project name и env

Для нескольких стендов на одной машине задают project name и отдельный env-file. Так контейнеры, сети и volumes не конфликтуют между рабочими деревьями.

Healthcheck как часть контракта

Если сервис считается поднятым только после миграций или прогрева, это должно быть видно в compose. Иначе зависимые процессы стартуют раньше готовности.