Docker Compose — инструмент для описания и запуска многоконтейнерных приложений через YAML-файл, обычно compose.yaml. В нём задают сервисы, сети, volumes, переменные окружения и зависимости, а приложение запускают командой docker compose up.
Docker Compose — инструмент для описания и запуска многоконтейнерных приложений через YAML-файл, обычно compose.yaml. В нём задают сервисы, сети, volumes, переменные окружения и зависимости, а приложение запускают командой docker compose up.
Что такое Docker Compose
Docker Compose позволяет описать несколько связанных контейнеров в одном YAML-файле. Например, backend, PostgreSQL, Redis и Nginx можно настроить вместе и запускать одной командой.
Пример compose.yaml
services:
web:
build: .
command: python main.py
ports:
- "8000:8000"
environment:
DATABASE_URL: postgresql://app:password@db:5432/app_db
depends_on:
- db
db:
image: postgres:16
environment:
POSTGRES_DB: app_db
POSTGRES_USER: app
POSTGRES_PASSWORD: password
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:Как запустить приложение
В папке с файлом compose.yaml выполняют команду:
docker compose upДля запуска в фоне добавляют флаг -d.
docker compose up -dПолезные команды
docker compose ps
docker compose logs
docker compose logs -f web
docker compose down
docker compose up -d --buildЧто создаёт Compose
Compose создаёт контейнеры для сервисов, default network для их связи и объявленные volumes. Сервисы в одном Compose-проекте обычно могут обращаться друг к другу по имени сервиса, например db.
Как ответить на собеседовании
Docker Compose нужен для запуска многоконтейнерного приложения через один YAML-файл. В compose.yaml я описываю сервисы, порты, volumes, сети и переменные окружения, после чего запускаю всё командой docker compose up -d.
Оцени свой прогресс