gpt4 book ai didi

docker - 如何动态设置链接容器的环境变量?

转载 作者:行者123 更新时间:2023-12-02 20:27:41 31 4
gpt4 key购买 nike

我有两个容器webinterfacedb,而webinterface使用--link选项(对于db)启动,该选项生成环境变量

DB_PORT_1111_TCP=tcp://172.17.0.5:5432
DB_PORT_1111_TCP_PROTO=tcp
DB_PORT_1111_TCP_PORT=1111
DB_PORT_1111_TCP_ADDR=172.17.0.5
...

现在,我的 webinterface容器使用了 Dockerfile,其中定义了一些静态环境变量来定义连接:
ENV DB_HOST localhost
ENV DB_PORT 2222

知道 -e还有一个 docker run选项,问题是我想在 Dockerfile中使用这些变量(在某些脚本中使用),但是用 --link选项生成的值覆盖它们,即类似以下内容:
docker run -d -e DB_HOST=$DB_PORT_1111_TCP_ADDR

这将使用主机的已定义环境变量,在这里不起作用。
有办法解决吗?

最佳答案

这是一个变量扩展问题,因此要解决此问题,请尝试以下操作:
docker run -d -e DB_HOST="$DB_PORT"_1111_TCP_ADDR

关于docker - 如何动态设置链接容器的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29407106/

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