将容器的主机IP映射到虚拟主机的最佳方法是什么?

时间:2017-09-29 19:40:43

标签: docker docker-compose

在我们的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中进行映射。

1 个答案:

答案 0 :(得分:2)

如果您在Mac上而不是在容器中运行数据库服务器,则可以将--add-hosts标记添加到docker run

在您的情况下,您可以使用

--add-hosts MY_DB:`ipconfig getifaddr en0`

此命令特定于Mac,不适用于主机为Linux的环境。