热点 来源:TechWeb 2022-02-18 04:38 阅读量:10657
除了环境变量之外,Docker 还在/etc/hosts文件中添加了源容器的主机条目。这是web 容器的条目:
$ docker run —t —i ——rm ——link db:webdb training/webapp /bin/bash
rootaed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7 aed84ee21bde
lt,...gt,
172.17.0.5 webdb 6e5cdeb2d300 db
您可以看到两个相关的主机条目第一个是web 使用容器 ID 作为主机名的容器条目第二个条目使用链接别名来引用db容器的 IP 地址除了您提供的别名之外,链接容器的名称和链接容器的主机名也会被添加到/etc/hosts链接容器的 IP 地址
rootaed84ee21bde:/opt/webapp# ping webdb
PING webdb : 48 data bytes
56 bytes from 172.17.0.5: icmp_seq=0 ttl=64 time=0.267 ms
56 bytes from 172.17.0.5: icmp_seq=1 ttl=64 time=0.250 ms
56 bytes from 172.17.0.5: icmp_seq=2 ttl=64 time=0.256 ms
注意:在示例中,您必须安装,ping因为它最初未包含在容器中。
在这里,您使用该ping命令db通过其主机条目ping容器,该条目解析为172.17.0.5. 您可以使用此主机条目来配置应用程序以使用您的db容器。
如果您重新启动源容器,/etc/hosts链接容器上的文件会自动更新为源容器的新 IP 地址,从而允许链接通信继续。
$ docker restart db
db
$ docker run —t —i ——rm ——link db:db training/webapp /bin/bash
rootaed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7 aed84ee21bde
lt,...gt,
172.17.0.9 db
。郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。