Skip to content

exec (Выполнение команды внутри контейнера)

Описание:
Команда docker compose exec позволяет выполнять команды внутри запущенных контейнеров, созданных с помощью docker compose up. Это аналог docker exec, но в контексте проекта.

Полезно для запуска shell-сессий, отладки, миграций БД и многого другого.


Использование без флагов

Структура команды:

docker compose exec [сервис] [команда]
Описание:
Позволяет выполнить произвольную команду внутри указанного сервиса. По умолчанию запускается с интерактивным терминалом.

Пример:

docker compose exec db psql -U postgres

Откроет PostgreSQL внутри сервиса db

Пример:

docker compose exec app bash

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


Флаг -T – отключить псевдотерминал (TTY)

Структура команды:

docker compose exec -T [сервис] [команда]
Описание:
Отключает выделение псевдотерминала. Используется в скриптах или при выводе, не требующем интерактивности.

Пример:

docker compose exec -T app echo "Hello"


📌 Вернуться к общим флагам: docker compose
📌 См. также:
- ⚙️ Запуск сервисов (up) (-d, --build, --force-recreate, --remove-orphans, --no-deps)
- 🧹 Остановка и удаление (down) (--volumes, --rmi, --remove-orphans)
- 📜 Просмотр логов (logs) (-f, --tail, --timestamps, --since, --until)
- 🏗️ Сборка образов (build) (--no-cache, --pull, --progress, --parallel)