如何在使用 docker-compose 命令时指定 COMPOSE_PROJECT_NAME ?
1.默认值
COMPOSE_PROJECT_NAME
环境变量的默认值并非 docker
。在没有显式设置 COMPOSE_PROJECT_NAME
时,其默认值是运行 docker-compose
命令所在目录的基础名称(也就是当前工作目录去掉路径后的文件夹名称)。
以下为你详细说明:
示例情况
假设你在名为 myapp
的目录下执行 docker-compose
命令,并且没有设置 COMPOSE_PROJECT_NAME
环境变量:
cd myapp
docker-compose up -d
此时,COMPOSE_PROJECT_NAME
的默认值就是 myapp
。
2.自定义名称
在使用 docker-compose
命令时,你可以通过以下几种方式指定 COMPOSE_PROJECT_NAME
:
临时设置环境变量
在执行 docker-compose
命令时,临时设置 COMPOSE_PROJECT_NAME
环境变量。这种方式仅对当前执行的命令有效。
示例命令
COMPOSE_PROJECT_NAME=myproject docker-compose up -d
在上述命令中,myproject
是你指定的项目名称。docker-compose up -d
命令会使用这个指定的名称来部署项目。
在终端会话中设置环境变量
如果你希望在当前终端会话的所有 docker-compose
命令中都使用同一个项目名称,可以使用 export
命令设置环境变量。
示例命令
export COMPOSE_PROJECT_NAME=myproject
docker-compose up -d
执行 export
命令后,后续在该终端会话中执行的所有 docker-compose
命令都会使用 myproject
作为项目名称,直到你关闭该终端会话或手动修改该环境变量。
在 .env
文件中设置环境变量
创建一个 .env
文件,并在其中设置 COMPOSE_PROJECT_NAME
。当你运行 docker-compose
命令时,它会自动读取 .env
文件中的环境变量。
步骤
- 创建
.env
文件:在docker-compose.yml
文件所在的目录下创建一个.env
文件。 - 添加环境变量:在
.env
文件中添加COMPOSE_PROJECT_NAME
变量。
COMPOSE_PROJECT_NAME=myproject
- 运行
docker-compose
命令:直接运行docker-compose
命令,它会自动使用.env
文件中指定的项目名称。
docker-compose up -d
通过以上方法,你可以根据不同的需求灵活指定 COMPOSE_PROJECT_NAME
。