【Docker网络】容器之间的网络是如何连通的?

一、Docker0网络详解

1.1 宿主机获取IP

l0:本机地址
eth0:阿里云内网地址
docker0:docker的网卡
在这里插入图片描述

1.2 docker如何处理容器之间的网络的?

在这里插入图片描述

1.3 启动一个tomcat01查看docker容器内部的IP地址

# 1.启动一个tomcat
docker run -d -P --name tomcat01 tomcat
# 2.查看容器内部的IP地址
docker exec -it tomcat01 ip addr

在这里插入图片描述

1.4 linux能否ping通docker的网络?

在这里插入图片描述
docker0原理
只要安装了docker就会有一个docker0网卡,采用的桥接模式,使用了evth-pair技术!

1.5 查看linux的网卡IP

在这里插入图片描述

1.6 再次启动一个tomcat02,docker容器测试,查看linux的IP网络

# 1.启动一个tomcat02
docker run -d -P --name tomcat02 tomcat
# 2.查看容器内部的IP地址
docker exec -it tomcat02 ip addr

在这里插入图片描述

1.7 进入tomcat02的docker查看容器网络IP

在这里插入图片描述

1.8 evth-pair技术【容器的网卡连接技术】

发现这些网卡都是docker带来的成对的虚拟接口,这就是evth-pair技术,用来连接虚拟网络设备的

1.9 tomcat01是否可以ping通tomcat02???

在这里插入图片描述
答案:容器之间是可以ping通的,容器之间的通信就是这样的。

二、容器之间的通信机制 veth-pair

在这里插入图片描述
答案: tomcat01和tomcat02是公用的一个路由器,就是linux中产生的虚拟网卡docker0
在这里插入图片描述
docker网络最多可以分配65535个网络。

三、docker容器互联 --link【不建议使用,实质修改hosts】

试想一下,编写了一个微服务,database url = ip;项目不重启,数据库IP换掉了,可不可以用名字进行访问容器
在这里插入图片描述
发现并1 不能ping通!!!!!

3.1 如何ping名字?

在这里插入图片描述
反向可以ping通吗?????????????????
答案:不可以,需要在02中再次配置一下 hosts在这里插入图片描述

四、docker自定义网络

4.1 查看所有的docker网络

在这里插入图片描述
网络模式
bridge: 桥接 【自定义,也是使用桥接模式
none:不配置
host:和宿主机共享网络
container:容器互联【用的少,局限大】

4.2 自定义网络

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.3 启动两个容器,测试自定义网络

在这里插入图片描述
在这里插入图片描述

4.4 自定义好处【可以直接通过容器名字ping通】

在这里插入图片描述
docker0没有实现这个功能,需要使用–link命令
自定义网络可以保证创建的集群的网络健康

4.5 docker0的网络 与 自定义网络连通【connet命令】

在这里插入图片描述
如何连通呢????????????????????????????
在这里插入图片描述
测试连通网络,其实就是把tomcat01放到了mynet网络下。
在这里插入图片描述
一个容器两个Ip
在这里插入图片描述
可以ping通
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding路人王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值