gpt4 book ai didi

docker - 在docker-compose中,我可以使用环境变量构造另一个环境变量吗?

转载 作者:行者123 更新时间:2023-12-02 19:21:36 25 4
gpt4 key购买 nike

在docker-compose中,我可以使用环境变量构造另一个环境变量吗?
例如:

environment: 
- HOST: localhost
- WITH_PORT: ${HOST}:8080 #host read from env variable above
如果有可能-那么我该如何实现呢?

最佳答案

TL; DR:否

docker-compose docs explain this too here
docker-compose是一种编写docker run ...命令的好方法(如果我输入错了,可以纠正我吗?)。因此,一个简单的测试告诉我,只有在开发环境中存在该环境变量的情况下,您才能在docker-compose中创建环境变量。

所以,

environment: 
- HOST: localhost
- WITH_PORT: ${HOST}:8080 #host read from env variable above

在这里,HOST需要存在于您的环境中,而不是存在于容器环境中(这可能不是您想要的)。
~ $ docker run -it -e c=${a} -e a=b ubuntu env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=4f27e057b515
TERM=xterm
c=
a=b
HOME=/root
~ $ docker run -it -e c=${PATH} -e a=b ubuntu env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=ba84596bfdf3
TERM=xterm
c=/usr/local/opt/bison/bin:/Users/username/anaconda3/bin:/Users/username/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/opt/puppetlabs/bin:/usr/local/munki:/Applications/apache-maven-3.5.4/bin:/Users/username/opt/packages/cassandra/bin:/Users/username/bin
a=b
HOME=/root

关于docker - 在docker-compose中,我可以使用环境变量构造另一个环境变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59246389/

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