首页/云/云与容器速查/Compose 项目名与多环境共存
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条
容器与 Docker106 条
Kubernetes68 条容器排障33 条

Compose 项目名与多环境共存

项目名决定容器、网络、卷的前缀:同名服务在不同项目名下互不干扰。用 -p 或 COMPOSE_PROJECT_NAME 区分开发/测试环境,实现同机多栈。

云与容器速查云更新于 2026-10-12
默认值compose 文件所在目录名(小写化处理)
显式指定docker compose -p shop-dev up -d
环境变量COMPOSE_PROJECT_NAME=shop-dev
compose.yaml name顶层 name 字段;-p 优先级更高
影响容器名 <项目>-<服务>-<序号>、网络与卷前缀

同机跑两套环境

同机跑两套环境
COMPOSE_PROJECT_NAME=shop-dev docker compose up -d
COMPOSE_PROJECT_NAME=shop-staging docker compose up -d
docker compose -p shop-dev ps
down 只清理当前项目:切换项目名部署后,旧项目残留要记得单独 down。

易错点

  • 复制目录起第二套环境没改项目名(目录名相同):容器名冲突直接失败
  • 找不到旧项目网络/卷:它们是带旧前缀的独立资源,不会自动清理

数据来源与参考

  • Docker Docs:Compose project name

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌