通过容器名称互联
即在同一个宿主机上的容器之间可以通过自定义的容器名称相互访问,比如一个业务前端静态页面是使用nginx,动态页面使用的是tomcat,由于容器在启动的时候其内部IP地址是DHCP 随机分配的,所以如果通过内部访问的话,自定义名称是相对比较固定的,因此比较适用于此场景。
启动第一个容器
[root@mysql app1]# docker run -itd --name tomcat-web -p 8801:8080 tomcat-web:app1 b6471b4d34c6aeedcae1c1048632dc326acdd37d385b8afbaa3ace186e433c87
查看容器的hosts文件
[root@b6471b4d34c6 /]# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 b6471b4d34c6 1.1.1.1 test.com
启动第二个容器,与第一个容器关联
[root@mysql app1]# docker run -itd --name nginx-link --link tomcat-web nginx:v1 06f2bc85b84d65407f1cdb4ec73b3c8d3cff783883593185ac676064258703cb
查看容器的hosts
[root@06f2bc85b84d /]# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback