compose (Многоконтейнерное приложение)
Общее описание:
docker compose
— это инструмент управления многоконтейнерными приложениями в Docker, описанными в YAML-файле (docker-compose.yml
). Он позволяет запускать, останавливать, собирать и анализировать группы контейнеров как единое целое.
С переходом на Docker v20.10+, классическая команда docker-compose
(через отдельный бинарник) была заменена встроенной командой docker compose
(через CLI). Теперь это часть основного клиента Docker, не требующая отдельной установки.
Основная идея compose
Вместо запуска каждого контейнера вручную с помощью docker run
, команда docker compose
позволяет описать всю инфраструктуру (например, backend + БД + redis) в одном YAML-файле и управлять ей единообразно.
Пример docker-compose.yml
:
version: "3.8"
services:
web:
build: .
ports:
- "8000:8000"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
Теперь достаточно одной команды:
Замена docker-compose
→ docker compose
Было | Стало |
---|---|
docker-compose up |
docker compose up |
docker-compose down |
docker compose down |
docker-compose logs -f |
docker compose logs -f |
docker-compose exec app sh |
docker compose exec app sh |
docker compose
теперь поддерживает те же флаги, но работает быстрее, без отдельной установки, и интегрирован с Docker CLI.
Ключевые команды docker compose
(с разбивкой)
Команда | Назначение | Подробно |
---|---|---|
up |
Запуск всех сервисов | compose_up.md |
down |
Остановка и удаление | compose_down.md |
logs |
Просмотр логов | compose_logs.md |
exec |
Выполнить команду в контейнере | compose_exec.md |
build |
Сборка образов | compose_build.md |
Общие флаги docker compose
-f
(file) – указание файла конфигурации
-p
(project name) – указание имени проекта
--env-file
– загрузка переменных окружения
Преимущества docker compose
- 🧹 Единый YAML-файл для всей инфраструктуры
- ⚖️ Быстрый запуск проектов
- 🛠️ Удобно для CI/CD и dev-среды
- 🧼 Упрощает управление зависимостями
- 💡 Сценарии
up
,down
,logs
,exec
— всё в одном
📌 См. также:
- 🧠 Docker compose для души
- 🛠️ Все элементы файла docker-compose.yml
- ⚙️ Запуск сервисов (up)
- 🧹 Остановка и удаление (down)
- 📜 Логи проекта (logs)
- 🔍 Выполнение команд (exec)
- 🏗️ Сборка образов (build)