Текст и данные · Инструкция
Docker Compose: как задать project name через -p, COMPOSE_PROJECT_NAME или name
По умолчанию Compose выводит project name из каталога проекта. Это удобно локально, но одинаковые или меняющиеся каталог
Короткий ответ
Project name можно задать флагом `-p`, переменной `COMPOSE_PROJECT_NAME` или верхнеуровневым `name:` в Compose-файле. Самый высокий приоритет у `-p`; явное имя помогает изолировать одинаковые Compose-стеки на одном хосте или в CI.
Что делать
- Определите нужное имя: Используйте короткое стабильное имя из строчных букв, цифр, дефисов или подчёркиваний; начало — буква или цифра.
- Разовый запуск: Передайте `docker compose -p myapp up -d`.
- Для окружения CI: Задайте `COMPOSE_PROJECT_NAME=myapp-${BUILD_ID}` перед командой Compose.
- Для самого Compose-файла: При необходимости добавьте верхнеуровневое `name: myapp`.
- Учтите приоритет: Помните полный порядок: `-p` → `COMPOSE_PROJECT_NAME` → `name:` → basename project directory → basename current directory, если Compose file не задан.
- Проверьте ресурсы: Сравните `docker compose -p myapp ps` и созданные сети/контейнеры, чтобы убедиться, что стек изолирован ожидаемым project name.
Важно
Смена project name создаёт другой набор Compose-ресурсов; старый стек с прежним именем автоматически не удаляется.
Что учитывать
Смена project name создаёт другой набор Compose-ресурсов; старый стек с прежним именем автоматически не удаляется.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Specify a project name). Пример и формулировки — редакция N1RO на 2026-09-17.