gpt4 book ai didi

Docker-compose .env 文件内部变量替换

转载 作者:行者123 更新时间:2023-12-03 21:00:07 28 4
gpt4 key购买 nike

我正在尝试在 .env 中执行变量替换文件,但到目前为止还没有任何运气。

我一直在查看 docker-compose 文档,但没有发现任何提到这一点的内容(或任何在线示例),但如果不可能的话,这似乎是令人惊讶的事情。

我正在谈论的是在我的 .env 文件中做这样的事情:

// .env
SOME_LOCATION=/path/to/some/location

CONFIG_FILE=${SOME_LOCATION}/config
CONSTANT_FILE=${SOME_LOCATION}/constants

(这个例子使 CONFIG_FILE 等于字符串 $${SOME_LOCATION}/config 并且同样的事情发生在 CONSTANT_FILE )

我意识到这在 compose.yml 中是可能的具有类似语法的文件,但可以在 .env 内完成文件?

如果不可能,我正在使用 docker-compose 版本 1.24.1,那么我只会复制这些类型的东西,但是通过您的配置复制相同的值总是感觉很脏。

最佳答案

您可以在 shell 脚本中使用 export 命令更改或添加 .env 变量。

文件路径是这样的;

-project
-> docker-compose.yml
-> .env
-> start.sh

docker-compose.yml
services:
jira:
image: atlassian/jira-software
volumes:
- ${CONFIG_FILE}:/var/atlassian/application-data/jira
ports:
- 8080:8080
volumes:
jira_vol:
external: false

启动文件
export "CONFIG_FILE=${SOME_LOCATION}/jira_vol"
docker-compose up -d

.env
SOME_LOCATION=./volumes

最后运行这个命令;
sh start.sh

start.sh 文件将添加 CONFIG_FILE 变量并运行 docker compose。您可以在 docker-compose.yml 中使用 CONFIG_FILE 和 SOME_LOCATION。

关于Docker-compose .env 文件内部变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58685465/

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