添加到容器的/ etc / hosts使用Fig?
我试图configurationfig
以便我可以连接到我的数据库服务器,而不指定一个完全合格的域名。 数据库在裸机上运行(不在docker中)。 在主机上, glinda.local
是在/etc/hosts
指定的,我希望容器模仿这种行为(尽pipe不依赖于主机的configuration)。
我在github上find了这个build议 ,但是因为/etc/hosts
在只读文件系统上,所以失败了。
所以问题仍然存在,我怎么能添加glinda.local
从fig.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
你是说这不适合你吗? 如果以上的工作,你应该能够添加你需要的入口点脚本。