Запуск и управление стеком

Команды Docker Compose для запуска, остановки и наблюдения за всем стеком сервисов.

docker compose up создаёт и запускает все сервисы из compose.yaml, а down останавливает и удаляет их.

Запуск стека: up

Команды Compose запускают из папки, где лежит compose.yaml. Поднять весь стек в фоне:

docker compose up -d

Флаг -d работает как у docker run — запуск в фоне. Без него вывод всех сервисов идёт прямо в терминал, что удобно при первом запуске и отладке.

Вывод:

[+] Running 3/3
 ✔ Network myapp_default   Created
 ✔ Container myapp-db-1    Started
 ✔ Container myapp-api-1   Started

Compose сам создал общую сеть и запустил оба контейнера в правильном порядке.

Наблюдение: ps и logs

Посмотреть состояние сервисов стека:

docker compose ps

Логи всех сервисов сразу, с -f — в реальном времени:

docker compose logs -f

Логи только одного сервиса — указываем его имя:

docker compose logs -f api

Остановка: down

Остановить и удалить контейнеры и сеть, созданные Compose:

docker compose down

Важно: по умолчанию down не удаляет именованные тома — данные базы сохранятся. Чтобы снести и тома (полная очистка), добавьте -v:

docker compose down -v

Пересборка и обновление

Если меняли Dockerfile или код сервиса, пересоберите образы перед запуском:

docker compose up -d --build
КомандаЧто делает
docker compose up -dподнять стек в фоне
docker compose psсостояние сервисов
docker compose logs -fлоги всех сервисов
docker compose downостановить и удалить стек
docker compose up -d --buildпересобрать и поднять

Итог

  • docker compose up -d поднимает весь стек в фоне, создавая сеть автоматически.
  • ps и logs показывают состояние и вывод сервисов.
  • down удаляет стек, но тома сохраняет; down -v сносит и тома.
Проверьте себя
1. Что делает команда docker compose up -d?
AУдаляет все образы
BЗапускает все сервисы из compose.yaml в фоновом режиме
CПоказывает только логи
DСкачивает Docker Compose
2. Что произойдёт с именованными томами при docker compose down без флагов?
AТома будут удалены вместе с контейнерами
BТома сохранятся, данные не потеряются
CТома станут доступны только для чтения
DКоманда завершится ошибкой
3. Как пересобрать образы перед поднятием стека?
Adocker compose restart
Bdocker compose up -d --build
Cdocker compose down --build
Ddocker compose rebuild
Поддержать проект