Dokcer 桥接模式原理解析

1 Docker 网络模式

网络模式配置说明
bridge模式–net=bridge默认值。在Docker网桥docker0上为容器创建新的网络栈
none模式–net=none不配置网络,用户可以稍后进入容器,自行配置
container模式–net=container:name/id容器和另外一个容器共享Network namespace。
host模式–net=host容器和宿主机共享Network namespace
用户自定义–net=mynet用户自己使用network相关命令定义网络

2 桥接原理概述

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据,Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。

在这里插入图片描述
Docker容器网络就很好的利用了Linux虚拟网络技术,在本地主机和容器内分别创建一个虚拟接口,并让他们彼此联通(这样一对接口叫veth pair)。

Docker中的网络接口默认都是虚拟的接口。虚拟接口的优势就是转发效率极高(因为Linux是在内核中进行数据的复制来实现虚拟接口之间的数据转发,无需通过外部的网络设备交换),对于本地系统和容器系统来说,虚拟接口跟一个正常的以太网卡相比并没有区别,只是他的速度快很多。

3 Demo

3.1 命令 ip addr

#命令 ip addr

lo: 使用与本地交互。
ens33: 虚拟机当前IP。
docker0: docker虚拟IP地址。

在这里插入图片描述

在这里插入图片描述

3.2 启动两个容器

#启动两个
docker run -it alpine

190:172.17.0.2 :
在这里插入图片描述
192:172.17.0.3 :
在这里插入图片描述

#命令
ip addr

概述: 多了一对

191 veth980971c@if190
193 veth32b3b0a@if192

在这里插入图片描述

在这里插入图片描述

3.3 容器内是是否互通

3.3.1 ping ip

ping ip,可以,把docker0当作网关,docker0网关能处理就直接转发。
如果docker0 网关处理不了,则交给ens33处理。

容器内相互ping ip:
在这里插入图片描述
在这里插入图片描述
容器内ping baidu:在这里插入图片描述

3.3.2 ping 容器名称

ping 容器名称暂时不能ping通。

在这里插入图片描述

3.4 外部是怎么访问容器内部的?

#命令,创建tomcat
docker run -P -d --name tomcat  tomcat:jre8-alpine

在这里插入图片描述

在这里插入图片描述

#命令 查看iptabls 转发规则
iptables -nL

在这里插入图片描述

查看tomcat ip:
在这里插入图片描述

在这里插入图片描述

3.5 自定义模式 实现ping 容器名称

创建network:

#创建 -d 模式,--subnet ip段,--gateway 网关
docker network create -d bridge --subnet=192.168.0.0/16  --gateway=192.168.0.1 rosh_network

在这里插入图片描述

创建容器:

#创建容器
docker run -it  --network rosh_network --name alpine1  alpine
docker run -it  --network rosh_network --name alpine2  alpine

查看ip:

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

在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

响彻天堂丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值