将容器的主机IP映射到虚拟主机的最佳方式是什么?
在我们的rails应用程序中,我们有一个数据库configuration文件,数据库主机被设置为MY-DB
。
在我们当前的环境中,我们简单地修改/ etc / hosts,使MY-DB
映射到我们需要的任何IP地址(localhost for dev)。
1.1.1.1 MY-DB
我们正在用Docker容器化所有的服务,现在我想保持数据库configuration文件一致。 我如何告诉我的容器做这个映射? 我只是简单地复制一个/ etc / hosts到所需的映射到构build时的容器?
我使用的是一个典型的ruby容器,ruby:2.2.5。
为了开发的缘故,我find了docker.for.mac.localhost
解释 ,如果我直接在dbconfiguration文件中用docker.for.mac.localhost
replaceMY-DB
,它可以按需要工作,但是我想在Dockerland中做这个映射。
如果您在Mac上而不是在容器中运行数据库服务器,则可以将--add-hosts
标志添加到docker run
。
在你的情况下,你可以使用
--add-hosts MY_DB:`ipconfig getifaddr en0`
这个命令是特定于Mac的,并且在主机是Linux的环境中不起作用。