在我们的rails应用程序中,我们有一个数据库配置文件,其中数据库主机设置为MY-DB
。
在我们当前的环境中,我们只需修改/ etc / hosts,以便MY-DB
映射到我们需要的任何IP地址(dev为localhost)。
1.1.1.1 MY-DB
我们将所有服务集中到Docker中,我现在想保持数据库配置文件不变。如何告诉我的容器进行此映射?我是否只是在构建时将具有所需映射的/ etc / hosts复制到容器中?
我使用典型的红宝石容器,红宝石:2.2.5。
为了开发,我找到了docker.for.mac.localhost
的{{3}},如果我继续直接在db配置中用MY-DB
替换docker.for.mac.localhost
,它就有效根据需要,但我想在Dockerland中进行映射。
答案 0 :(得分:2)
如果您在Mac上而不是在容器中运行数据库服务器,则可以将--add-hosts
标记添加到docker run
。
在您的情况下,您可以使用
--add-hosts MY_DB:`ipconfig getifaddr en0`
此命令特定于Mac,不适用于主机为Linux的环境。