容器互联 --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了,而是使用自定义网络!

 

posted @ 2022-03-24 12:10  屯子里唯一的架构师  阅读(36)  评论(0编辑  收藏  举报