Docker compose Docker compose.env文件内部变量替换
我试图在Docker compose Docker compose.env文件内部变量替换,docker-compose,environment-variables,Docker Compose,Environment Variables,我试图在.env文件中执行变量替换,但迄今为止没有任何运气 我一直在查看docker compose文档,但没有发现任何提及这一点的内容(或任何在线示例),但如果不可能的话,这似乎是一件令人惊讶的事情 我说的是在我的.env文件中执行类似的操作: // .env SOME_LOCATION=/path/to/some/location CONFIG_FILE=${SOME_LOCATION}/config CONSTANT_FILE=${SOME_LOCATION}/constants (此
.env
文件中执行变量替换,但迄今为止没有任何运气
我一直在查看docker compose文档,但没有发现任何提及这一点的内容(或任何在线示例),但如果不可能的话,这似乎是一件令人惊讶的事情
我说的是在我的.env文件中执行类似的操作:
// .env
SOME_LOCATION=/path/to/some/location
CONFIG_FILE=${SOME_LOCATION}/config
CONSTANT_FILE=${SOME_LOCATION}/constants
(此示例使CONFIG\u文件
等于字符串${SOME\u LOCATION}/CONFIG
,而常量\u文件
也会发生同样的情况)
我意识到这在compose.yml
文件中是可能的,语法如下,但它能在.env
文件中完成吗
我使用的是docker compose版本1.24.1,如果不可能,那么我将只复制这些类型的内容,但通过您的配置复制相同的值总是感觉脏兮兮的。您可以在shell脚本中使用export命令更改或添加.env变量 像这样的文件路径
-project
-> docker-compose.yml
-> .env
-> start.sh
docker-compose.yml
start.sh
环境署署长
最后运行这个命令
sh start.sh
start.sh文件将添加配置文件变量并运行docker compose。您可以使用配置文件和docker compose.yml中的某些位置。是否有其他方法不需要在docker compose中设置它们?是.env文件的唯一可能语法
THIS=that
?简短回答:您不能替换.env文件中的变量。它适用于docker compose(1.29.1)的最新版本。
export "CONFIG_FILE=${SOME_LOCATION}/jira_vol"
docker-compose up -d
SOME_LOCATION=./volumes
sh start.sh