Docker Compose run: выполнить разовую команду сервиса
docker compose run создаёт временный контейнер по конфигурации сервиса и запускает другую команду. Это удобно для миграции, shell или management task без изменения основного процесса приложения.
Рабочий пример
docker compose run --rm api python manage.py migrate
docker compose run --rm --no-deps api python manage.py check
docker compose ps--rm удаляет контейнер после завершения. --no-deps пропускает связанные сервисы, если они уже работают; без него Compose может попытаться поднять зависимости.
Частый вопрос
Чем run отличается от exec?
run создаёт новый одноразовый контейнер, а exec запускает команду в уже работающем. Для диагностики процесса обычно нужен exec.