Docker连接容器

我阅读Docker指南,并对此页面有疑问: https : //docs.docker.com/userguide/dockerlinks/

接近尾声,它写道:

除了环境variables之外,Docker还将链接父项的主机条目添加到/ etc / hosts文件。 现在我们来看看Web容器上的这个文件。

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

我应该执行什么命令行来查看Web容器? 提前致谢 !

就在之前,他们做了: 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

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

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

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

这样做的一个有趣的副作用是你可以更新一个容器的hosts文件(如果你有root权限的话)。