Как использовать Docker Compose с профилями для разделения сервисов окружения разработки?
Механизм профилей в Docker Compose предоставляет гибкий способ управления запуском различных наборов контейнеров в рамках одного конфигурационного файла, позволяя объединять их по функциональному признаку и активировать только необходимые компоненты по требованию.
В реальной разработке часто возникает ситуация, когда для локального тестирования требуется поднять базовое приложение и базу данных, но инструменты мониторинга, тяжелые брокеры сообщений или вспомогательные сервисы администрирования нужны только при отладке конкретной функциональности или проведении интеграционных тестов.
Для реализации такого подхода в описание каждого сервиса добавляется специальная секция с указанием массива названий профилей, к которым он принадлежит, после чего стандартные команды запуска начинают учитывать эти метки и фильтруют список создаваемых контейнеров.
Рассмотрим основные сценарии применения профилей:
Активация нужного набора происходит путем передачи специального флага командной строки при вызове утилиты управления, либо через определение переменной окружения, что делает процесс настройки сред разработки удобным и стандартизированным для всей команды разработчиков.