Docker容器网络基础(五)
Docker容器网络基础(五)
一、场景描述
1、描述docker0网桥工作原理,以及自定义docker0网桥的IP地址段。
2、创建虚拟网桥
二、Docker桥接模式Bridge
Docker0虚拟网桥工作原理
- Docker0产生:当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,docker0就是Linux的虚拟网桥。
- Docker0作用:Docker0为每一个容器分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关
- Docker0虚拟网桥原理:在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中
Docker0虚拟网桥桥接模式工作原理示意图
三、桥接模式实验
查看桥接模式状态
1、安装工具 bridge-utils
-
#安装bridge-utils
-
yum -y install bridge-utils
2、查看网桥设备信息
brctl show
字段说明
- bridge name: 网桥名称,例如 docker0
- bridge id:网桥的唯一ID号
- interfaces:docker0创建veth接口,绑定容器的eth0网卡地址。
3、查看docker0为容器分配的ip
1、首先启动一个容器
- docker run -it --name docker0 centos
2、查看docker0网桥为这个容器分配了IP地址
- brctl show
interfaces上显示了veth地址,该地址就是docker0为容器eth0网卡分配IP地址对应的veth地址。
四、Docker0自定义
1、自定义docker0虚拟网桥的IP地址
docker0默认的IP地址是172.17.0.1 如果我们不习惯这个地址可以自定义修改IP网络段的地址
-
# 修改docker0 IP地址和子网掩码
-
ifconfig docker0 192.168.200.1 netmask 255.255.255.0
查看修改后的docker0地址,是我们自定义的IP地址
五、添加虚拟网桥
我们不希望使用docker默认提供的docker0虚拟网桥,那么我们还可以创建虚拟网桥。
1、添加虚拟网桥
-
#添加一个名称为 br0的虚拟网桥
-
brctl addbr br0
2、自定义虚拟网桥的IP地址段
ifconfig br0 192.168.100.1 netmask 255.255.255.0
3、更改docker守护进程启动配置
更改启动配置文件 vim /etc/default/docker
DOCKER_OPTS="-b=br0"'
4、重启docker服务
systemctl restart docker
5、查看docker启动进程是否加载了br0网桥
ps -ef|grep docker
在启动进程后面显示 -b-br0说明启动时加载了配置文件。
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/99825916
- 点赞
- 收藏
- 关注作者
评论(0)