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

时间:2015-02-19 15:55:29

标签: docker fig

我正在尝试配置fig,以便我可以连接到我的数据库服务器而无需指定完全限定的域名。数据库在裸机上运行(不在docker中)。在主机上,glinda.local中指定了/etc/hosts,并且我希望容器能够模仿此行为(尽管不依赖于主机的配置)。

我在github上找到了this suggestion,但由于/etc/hosts位于只读文件系统上,因此失败了。

所以问题仍然存在,如何在我的泊坞窗容器中将glinda.localfig.yml添加到/etc/hosts

2 个答案:

答案 0 :(得分:2)

从Docker v1.3.1(我认为),您在--add-host中可以选择docker run。不幸的是,这个选项尚未合并到fig:master,但有a PR with it。合并(或使用该分支)时,您应该能够以这种方式使用它:

  

extra_hosts

     

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

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

将在中创建具有IP地址和主机名的条目   / etc / hosts在此服务的容器内,例如:

> 162.242.195.82  docker
> 50.31.209.229   fig

答案 1 :(得分:0)

是什么让您认为/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

你是说这不适合你吗?如果上述方法有效,您应该能够将所需内容添加到入口点脚本中。