Docker链接容器

时间:2014-06-30 19:29:42

标签: hyperlink containers docker

我阅读了Docker指南,并且对此页面提出了一个问题:https://docs.docker.com/userguide/dockerlinks/

接近结尾,写了:

  

除了环境变量之外,Docker还将链接父项的主机条目添加到/ etc / hosts文件中。现在让我们在Web容器上查看此文件。

root@aed84ee21bde:/opt/webapp
cat /etc/hosts
172.17.0.7  aed84ee21bde
. . .
172.17.0.5  db

我应该执行哪些命令行来查看Web容器? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

就在之前,他们做到了:docker run --rm --name web2 --link db:db training/webapp env。要获得shell提示,只需以交互模式运行bash:docker run --rm -it --name web2 --link db:db training/webapp bash然后您可以cat /etc/hosts

或者,您可以直接执行docker run --rm --name web2 --link db:db training/webapp cat /etc/hosts

答案 1 :(得分:1)

除了@creack响应如何使用容器内的shell查看hosts文件外,您还可以从主机访问该文件。

sudo cat `docker inspect --format '{{.HostsPath}}' web2`

上面的一个内核检查名为web2的容器并使用模板(使用--format指定)来返回给予容器的hosts文件的路径。然后它只使用cat来显示它(它还使用sudo,以获得正确的访问级别,因为docker将文件分配给root

这样做的一个有趣的副作用是您可以更新容器的hosts文件(如果您获得对主机的root访问权限)。