容器互联 --link
思考:我们编写了一个微服务,通过ip来访问,如果数据库的ip换掉了,就有点难搞。
我们希望通过名字来访问容器!
1,测试:tomcat02是否可以ping通tomcat01?
答案是不可以!
2,如何解决?
启动一个容器tomcat03,link tomcat02
[root@CentOs ~]# docker run -d -P --name tomcat03 --link tomcat02 tomcat
bf174ebf45b7bc6891f5e3f215a05c612986c3ca1e45c5031cb24fa7459160a6
[root@CentOs ~]#
之后重新ping ,现在就可以发现ping通了!
3,我们再次测试:02ping03,结果是不可以的!
[root@CentOs ~]# docker exec -it tomcat02 ping tomcat03
ping: unknown host
4,查看一下network
去03里面查看一下
docker inspect bf174ebf45b7
其实这个tomcat03就是在本地配置了tomcat02的配置
5,查看一下hosts的配置:
[root@CentOs ~]# docker exec -it tomcat03 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.3 tomcat02 7114b3325b54
172.17.0.4 bf174ebf45b7
[root@CentOs ~]#
本质探究:--link 就是我们在hosts配置中增加了一个172.17.0.3 tomcat02 7114b3325b54
6,我们现在玩docker已经不建议使用--link了!
不再使用docker0了,而是使用自定义网络!