我阅读了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容器? 提前谢谢!
答案 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访问权限)。