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说明启动时加载了配置文件。 

发布了268 篇原创文章 · 获赞 104 · 访问量 39万+

猜你喜欢

转载自blog.csdn.net/m0_38039437/article/details/99825916
今日推荐