Ответ
Docker Compose — это инструмент для определения и запуска мультиконтейнерных Docker-приложений. Он позволяет описывать все сервисы, сети и тома приложения в одном YAML-файле (docker-compose.yml
), а затем управлять ими одной командой.
Почему используется:
- Упрощение оркестрации: Позволяет легко запускать, останавливать и перезапускать целые стеки приложений.
- Локальная разработка: Идеален для создания изолированных сред разработки, максимально приближенных к продакшену.
- Тестирование: Удобен для развертывания тестовых сред.
Пример docker-compose.yml
:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Основные команды:
docker-compose up -d
: Запуск всех сервисов в фоновом режиме.docker-compose down
: Остановка и удаление контейнеров, сетей и томов, определенных в файле.docker-compose logs [service_name]
: Просмотр логов сервисов.docker-compose build
: Пересборка образов сервисов.
Используется для разворачивания таких стеков, как Django + PostgreSQL, FastAPI + Redis и других, значительно упрощая управление зависимостями и конфигурацией.