[[A8R.ru]]
...
Docker Compose: Руководство по управлению многоконтейнерными приложениями

02.03.2025
Docker

📌 Основные команды

Запуск контейнеров

Запускает все сервисы, указанные в docker-compose.yml:

docker compose up

Запуск в фоновом режиме (-d = detached mode):

docker compose up -d

Остановка контейнеров

docker compose down

Это остановит и удалит все контейнеры, но не удалит тома (базу данных и т. д.).


🔄 Пересборка контейнеров

Пересобрать контейнеры и запустить заново

Если изменился Dockerfile или package.json, запусти:

docker compose up -d --build

Полная очистка перед сборкой

Удаляет старые образы и кэш:

docker compose build --no-cache

📊 Просмотр информации о контейнерах

Проверить статус запущенных контейнеров

docker compose ps

Посмотреть логи контейнеров

Все логи:

docker compose logs

Логи с обновлениями в реальном времени:

docker compose logs -f

Логи конкретного сервиса:

docker compose logs -f frontend

⚡ Управление контейнерами

Перезапуск контейнеров

docker compose restart

Перезапустить один сервис:

docker compose restart frontend

Остановить контейнеры без удаления

docker compose stop

Удалить контейнеры, тома и сети

Полная очистка:

docker compose down -v

🛠 Отладка

Войти внутрь работающего контейнера

docker compose exec frontend sh # если контейнер на Alpine Linux
			docker compose exec frontend bash # если контейнер на Ubuntu/Debian

Запустить команду внутри контейнера

docker compose exec backend python manage.py migrate

💾 Работа с базами данных

Дамп базы данных (PostgreSQL)

docker compose exec db pg_dump -U postgres -d mydatabase > backup.sql

Восстановление базы из дампа

cat backup.sql | docker compose exec -T db psql -U postgres -d mydatabase
 

💡 Полезные команды

Проверить docker-compose.yml на ошибки

docker compose config

Очистить кэш сборки Docker

docker builder prune -a

🔥 Полная очистка всех данных (радикальный метод)

Если всё сломалось, можно удалить все контейнеры, сети, тома и образы:

docker compose down -v --rmi all

Затем пересобрать:

docker compose up -d --build