关于docker link和container&etc / hosts文件

时间:2015-03-21 10:09:27

标签: networking docker

我正在关注码头工人官方文档" Linking Containers Together"。在本文档的底部,在容器的/ etc / hosts文件中,它定义了链接两端的ip地址。

$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7  aed84ee21bde
. . .
172.17.0.5  db

然后,它说:

如果重新启动源容器,链接容器/ etc / hosts文件将自动使用源容器的新IP地址进行更新,从而允许链接通信继续。

$ sudo docker restart db
db
$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7  aed84ee21bde
. . .
172.17.0.9  db

我在徘徊,在容器' db'之前创建的链接怎么样?重新启动,旧收件人的/ etc / hosts文件仍保留' db'旧的ip,但在' db'容器的IP重启后更改,/ etc / hosts文件失效。

1 个答案:

答案 0 :(得分:0)

docker中存在一个已知错误,它会影响它的某些版本#6350。当您使用链接别名时,某些版本的docker也会出现此问题。因此,如果您将docker升级到最新版本(目前为1.8.1),问题就可以解决了。