Docker - 链接不向主机文件添加两个条目

时间:2014-08-12 21:56:27

标签: 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这样的条目吗?

据我了解,我正在做的一切正确。有什么我想念的吗?

2 个答案:

答案 0 :(得分:3)

当马克表明他能够创造出良好的联系时,马克让我走上正轨。我用$ docker version检查了我的泊坞版版本,注意到我落后了

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

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

答案 1 :(得分:2)

为我工作

实施例

创建容器

$ 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

"容器1"的条目已创建。