2014-06-30 189 views
1

我读了泊坞窗引导和我有一个关于这个页的问题:https://docs.docker.com/userguide/dockerlinks/泊坞窗链接容器

接近尾声,这是写:

除了环境变量泊坞窗增加了主机条目为/ etc/hosts文件的链接父节点。现在我们来看看Web容器上的这个文件。

[email protected]:/opt/webapp 
cat /etc/hosts 
172.17.0.7 aed84ee21bde 
. . . 
172.17.0.5 db 

什么是命令行,我应该执行有在Web容器看看吗? 在此先感谢!

回答

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

+0

这很有帮助,谢谢。说这不是看在网络容器,而是开始一个新的容器来查看图像是否公平? – Mark

+1

是的,没有。它会从图像中产生一个新的容器,所以它不会看到实际运行的Web容器,它将以只读方式查看图像。您所做的任何更改仅适用于新容器。 – creack

1

除了@creack如何看待主机响应文件使用来自容器内的外壳,您也可以从主机访问该文件。

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

上面一个衬里检查名为web2容器和使用模板(具有--format指定的)的路径返回到被提供给容器的hosts文件。然后,它只是使用cat来显示它(它也使用sudo,以获得正确的访问级别,因为码头工人分配文件root

的一个有趣的副作用是,你可以更新容器的hosts文件(如果你获得了对主机的root权限)。