gpt4 book ai didi

bash - 将Docker ENV变量传递给Rails应用

转载 作者:行者123 更新时间:2023-12-02 18:56:11 25 4
gpt4 key购买 nike

我正在测试使用Docker容器的Rails应用程序。我想要做的是在运行时使用ENV标志传递-e变量,如下所示:
docker run -p 3000:3000 -d -e "DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" somerepo/image:tag。我知道这行得通,因为当我将bash放入容器并运行env时,我得到了正确的变量集:

$ env
HOSTNAME=1641e2f6c81f
GEM_HOME=/usr/local/bundle
DOCKER_HOST=172.17.0.1
...

当我尝试在rails应用程序的 mongoid.yml中进行设置时,如下所示:
production:
clients:
default:
database: somerailsdb
hosts:
- ${DOCKER_HOST}:27017
options:
options:

尝试获取数据库记录时出现以下mongodb错误:
App 10040 stdout: D, [2016-01-10T11:40:07.085516 #10040] DEBUG -- : MONGODB | getaddrinfo: Name or service not known
这告诉我该值未在应用程序中设置。如何在 mongoid.yml配置文件中正确传递此密码?

最佳答案

mongoid.yml中使用环境变量值的语法为:

production:
clients:
default:
database: somerailsdb
hosts:
- <%= ENV['DOCKER_HOST'] %>:27017
options:
options:

关于bash - 将Docker ENV变量传递给Rails应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709572/

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