gpt4 book ai didi

docker-compose - 使用 docker-compose 的堆栈名称

转载 作者:行者123 更新时间:2023-12-01 00:15:07 26 4
gpt4 key购买 nike

有没有办法在使用 docker-compose 时设置堆栈名称?

目前它采用文件夹名称(这是一个可怕的区域),这会导致一些困惑。

例如,我们有几个项目有一个包含数据库堆栈的数据库文件夹。在单个主机上运行这些时,我们现在有几个数据库堆栈。

最佳答案

有几种方法可以做到:
1. 使用 --project-name (或 -p )选项时调用 docker-compose :docker-compose -p "my-app" up

Caution: -p "my-app" must come before up.


2. COMPOSE_PROJECT_NAME 环境变量:
export COMPOSE_PROJECT_NAME=my-app
docker-compose up
3. .env 文件中的 COMPOSE_PROJECT_NAME
创建一个名为 的文件.env 在项目根目录中设置 COMPOSE_PROJECT_NAME 环境变量:
COMPOSE_PROJECT_NAME=some_app
进而:
docker-compose up

The .env file is read from the folder where the docker-compose commandis executed, NOT from the folder of the docker-compose.yml file.


假设以下项目结构:
root
- database
- docker-compose.yml
- .env
- app
- docker-compose.yml
- .env
- ...
下面的命令在根文件夹中执行,不会产生预期的效果:
# Stack name 'database' (the folder name). The root/database/.env file not read.
docker-compose -f ./database/docker-compose.yml up
docker-compose 命令需要在 root/database 文件夹中执行:
# Stack name from the root/database/.env
cd database
docker-compose up

If you use option 2 or 3, the project name is applied to all docker-compose commands, as if it were specified with the -p option.

关于docker-compose - 使用 docker-compose 的堆栈名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53401672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com