Docker – 链接不添加两个条目到主机文件

根据https://docs.docker.com/userguide/dockerlinks/ ,我可以做到以下几点:

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

并且在我的链接/ etc / hosts文件中会有两个条目,我命名为db

 172.17.0.7 aed84ee21bde . . . 172.17.0.5 db 

但是,当我运行的时候,我只能得到一个主机文件入口的id而不是名字。

这是我正在尝试的:

 $ sudo docker run -d --name ghost dockerfile/ghost $ sudo docker run -d --name nginx -p 80:80 --link ghost:ghost dockerfile/nginx 

这应该给我两个名为nginx的容器的/etc/hosts中的条目。 但是,当我运行$ sudo cat `docker inspect --format '{{.HostsPath}}' nginx`我回来的是这样的:

 172.17.0.2 da1afa360504 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 

我不应该在那里看到像172.17.0.2 ghost一样的条目?

据我了解,我做的一切正确。 有什么我失踪?

马克让我走上了正确的轨道,当他表明,他可以创build链接就好了。 我用$ docker version检查了我的docker版本,注意到我落后了

 Client version: 0.9.1 Go version (client): go1.2.1 Git commit (client): 3600720 Server version: 0.9.1 Git commit (server): 3600720 Go version (server): go1.2.1 Last stable version: 1.1.2, please update docker 

我尝试升级到最新的Ubuntu,但没有奏效。 要升级,我不得不按照https://askubuntu.com/questions/472412/how-do-i-upgrade-docker说运行以下内容:

 $ wget -qO- https://get.docker.io/gpg | sudo apt-key add - $ sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" $ sudo apt-get update $ sudo apt-get install lxc-docker 

之后,我有最新版本和链接工作!

为我工作

创build一个容器

 $ docker run -d --name container1 ubuntu sleep 1000 d4f1fe391b524d16154749f5e1d25fd340e4da8831440a5813bdb28bc5d63713 

运行另一个链接的容器,打印出hosts文件

 $ docker run -i -t --name container2 --link container1:container1 ubuntu cat /etc/hosts .. .. 172.17.0.6 container1 

创build“container1”条目。