Ответ
docker-compose.yml — это декларативный YAML-файл, используемый инструментом Docker Compose для определения и запуска многоконтейнерных приложений. Он описывает все сервисы, их конфигурацию и взаимосвязи в одном месте.
Ключевые разделы файла:
version: Определяет схему формата Compose (например,'3.8').services: Описание каждого контейнера-сервиса (образ, порты, переменные окружения, тома).networks: Определение пользовательских сетей для изоляции сервисов.volumes: Объявление именованных томов для хранения данных.
Пример файла для стека веб-приложения:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "8080:80"
depends_on:
- app
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
app:
build: ./app
environment:
- DATABASE_URL=postgres://db:5432/appdb
depends_on:
- db
db:
image: postgres:15-alpine
environment:
POSTGRES_PASSWORD: secret
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
Основные команды для работы:
docker-compose up -d # Запуск сервисов в фоне
docker-compose ps # Просмотр статуса сервисов
docker-compose logs -f # Просмотр логов в реальном времени
docker-compose down # Остановка и удаление контейнеров, сетей
Используется для локальной разработки, тестирования и как основа для более сложных оркестраторов в CI/CD.