Docker Compose — это оркестратор локального уровня, предназначенный для управления группой взаимосвязанных контейнеров как единым целым. Вместо последовательного выполнения команд docker run с множеством флагов, конфигурация всей системы описывается в файле docker-compose.yml. Это обеспечивает воспроизводимость окружения и исключает ошибки ручного ввода параметров сети или томов.
Принцип работы
Инструмент считывает декларативное описание сервисов, создает изолированную виртуальную сеть и запускает контейнеры в заданной последовательности. Compose автоматически управляет зависимостями: например, веб-приложение начнет запуск только после того, как база данных станет доступна, если указана директива depends_on.
Основные сценарии применения:
- Локальная разработка: развертывание полного стека (Backend, Frontend, Redis, DB) одной командой
docker-compose up. - CI/CD пайплайны: создание временных изолированных сред для проведения интеграционных тестов.
- Управление микросервисами: быстрая пересборка отдельных компонентов без остановки всей системы.
Docker Compose поддерживает переменные окружения и переопределение конфигураций через несколько YAML-файлов. По статистике Docker, использование Compose сокращает время онбординга новых разработчиков, позволяя развернуть рабочую среду за секунды вместо часов ручной настройки.