Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений. С помощью одного файла docker-compose.yml вы можете настроить сервисы, сети и тома (volumes) для вашего приложения, а затем запустить все контейнеры одной командой.
Docker Compose позволяет описывать и управлять несколькими контейнерами как единым приложением. Это особенно полезно для:
Файл docker-compose.yml:
Сервисы (Services):
Тома (Volumes):
Сети (Networks):
docker-compose.ymlВот пример простого файла docker-compose.yml, который запускает веб-приложение с базой данных:
version: '3.8' # Версия Docker Compose
services:
web: # Сервис "web"
image: nginx:latest # Образ для веб-сервера
ports:
- "8080:80" # Проброс портов (хост:контейнер)
depends_on:
- db # Зависимость от сервиса "db"
db: # Сервис "db"
image: mysql:5.7 # Образ для базы данных
environment:
MYSQL_ROOT_PASSWORD: example # Переменные окружения
MYSQL_DATABASE: app_db
volumes:
- db_data:/var/lib/mysql # Том для хранения данных
volumes:
db_data: # Определение тома
Запускает все сервисы, описанные в docker-compose.yml:
docker compose up
-d запускает контейнеры в фоновом режиме:docker compose up -d
Останавливает и удаляет контейнеры, созданные через docker compose:
docker compose down
Показывает логи всех сервисов:
docker compose logs
docker compose logs <service_name>
Масштабирует количество экземпляров сервиса:
docker compose up --scale <service_name>=<number_of_instances>
Пример:
docker compose up --scale web=3
docker-compose.yml.Если у вас возникли сложности с Docker Compose или вы не нашли нужной информации, свяжитесь с поддержкой:
💡 Совет: Начните с простых примеров, таких как запуск связки веб-сервера и базы данных, чтобы лучше понять принцип работы Docker Compose.