添加到容器的/ etc / hosts使用Fig?

我试图configurationfig以便我可以连接到我的数据库服务器,而不指定一个完全合格的域名。 数据库在裸机上运行(不在docker中)。 在主机上, glinda.local是在/etc/hosts指定的,我希望容器模仿这种行为(尽pipe不依赖于主机的configuration)。

我在github上find了这个build议 ,但是因为/etc/hosts在只读文件系统上,所以失败了。

所以问题仍然存在,我怎么能添加glinda.localfig.yml到我的docker集装箱内的/etc/hosts

从Docker v1.3.1(我认为)你可以在docker run --add-host选项。 不幸的是,这个选项还没有被合并到fig:master中,但是还有一个PR 。 当合并(或使用该分支),你应该能够以这种方式使用它:

extra_hosts

添加主机名映射。 使用与docker客户端–add-hosts参数相同的值。

 > extra_hosts: > - docker: 162.242.195.82 > - fig: 50.31.209.229 

具有ip地址和主机名的条目将在容器内的/ etc / hosts中为该服务创build,例如:

 > 162.242.195.82 docker > 50.31.209.229 fig 

是什么让你认为/etc/hosts是只读的? 下面的Docker 1.5适合我:

 $ docker run -it debian root@0989fd55e8fa:/# echo "127.0.0.1 test" >> /etc/hosts root@0989fd55e8fa:/# ping test PING test (127.0.0.1): 48 data bytes 56 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.078 ms 56 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.068 ms ^C--- test ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.068/0.073/0.078/0.000 ms 

你是说这不适合你吗? 如果以上的工作,你应该能够添加你需要的入口点脚本。