Docker之路(8.Docker网络、Docker0)

理解 Docker0

1.首先使用 ip addr 查看

  • lo: 是我们本机的回环地址
  • eth0: 是我们系统的内网地址,例如我的就是阿里云内网地址
  • docker0: 安装docker后 docker0 的地址
    在这里插入图片描述

2. docker 是如何处理容器网络访问的?

2.1 先运行一个tomcat容器来测试

docker run -d -P --name tomcat01 tomcat

在这里插入图片描述

2.2 查看容器的内部网络地址

这部分如果报错的化,可以参考如下博客,或者一下命令

#进入容器   
docker exec -it tomcat01 /bin/bash  
#更新apt-get update  
apt-get update  
#安装 iproute2  
apt-get install -y iproute2

https://blog.csdn.net/G823909/article/details/127246183

docker exec -it tomcat01 ip addr

发现容器启动的时候会得到一个 eth0@if47 ip地址,这块每个人的可能都不一样,这是docker分配的!,并且这个ip是可以通过
本机Linux进行ping通
在这里插入图片描述

2.3 原理

docker0的地址是xxx.xxx.0.1 例如我的就是172.17.0.1
发现docker0的地址就是0.1这种,可以类比我们的路由器,就相当与我们路由器的
192.168.0.1这个路由器的地址
而我们容器里面,例如刚才搞的tomcat的地址,就是docker0进行分配的

我们每启动一个docker容器,docker就会给docker容器分配一个ip,我们只要安装docker,就会有
一个网卡 docker0 桥接模式,使用的技术是 veth-pair 技术!
本机 ip addr
在这里插入图片描述

容器带来网卡,都是一对对的 (即容器内网卡对应本机的一个网卡,是一对对的)
veth-pair 就是一对的虚拟设备接口,他们都是成队出现的,一段连着协议,一段彼此相连
正因为有这个特性,veth-pair 充当一个桥梁,连接各种虚拟网络设备

网络模型图:
在这里插入图片描述
实际上,两个容器之间的连接以及ping,是走了docker0这个桥梁过去的,而不是直接ping或者连接的

Docker使用的是Linux的桥接,宿主机中是一个Docker容器的网桥 docker0
在这里插入图片描述

Docker中的所有网络接口都是虚拟的,虚拟的转发效率高

只要容器删除,对应网桥一对就没了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

还是那个同伟伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值