2

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

我在 github 上找到了这个建议/etc/hosts,但它失败了,因为它位于只读文件系统上。

所以问题仍然存在,我如何在我的 docker 容器中添加glinda.localfrom ?fig.yml/etc/hosts

4

2 回答 2

2

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

额外主机

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

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

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

> 162.242.195.82  docker
> 50.31.209.229   fig
于 2015-02-19T20:00:05.893 回答
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

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

于 2015-02-19T17:30:43.897 回答