深入理解Docker网络:从docker0到自定义网络
目录
- 深入理解Docker网络:从docker0到自定义网络
-
- 1. Docker网络基础
-
- 1.1 Docker默认网络
- 1.2 docker0的作用
- 1.3 docker0的地址划分
- 2. docker0网络组织原理
-
- 2.1 运行容器实验
- 2.2 查看容器网络接口
- 2.3 网络连接原理小结
- 3. 网络互连机制
-
- 3.1 容器与宿主机互连
- 3.2 容器与容器互连
- 3.3 容器访问互联网
- 4. 自定义网络
-
- 4.1 为何需要自定义网络
- 4.2 创建自定义网络
- 4.3 使用自定义网络
- 4.4 删除自定义网络
- 5. 总结
深入理解Docker网络:从docker0到自定义网络
1. Docker网络基础
1.1 Docker默认网络
安装Docker后,系统会自动创建3个默认网络,可以通过以下命令查看:
docker network ls
Docker默认采用"bridge"桥接网络模式。安装成功后,系统中会出现一个名为docker0
的虚拟网络设备,这是一个虚拟网桥。
查看docker0设备信息:
# 安装网桥工具(如未安装)
yum install bridge-utils -y# 查看网桥信息
brctl show
1.2 docker0的作用
docker0网桥在Docker网络中扮演着关键角色:
- 为容器分配IP地址(与docker0同网段)
- 为容器分配MAC地址
- 作为每个容器的默认网关
- 提供同一宿主机上各容器间的通信基础
- 实现宿主机和容器之间的通信
1.3 docker0的地址划分
docker0使用固定的IP地址范围:
- docker0本身的IP:172.17.0.1
- 子网掩码:255.255.0.0
- 分配的IP范围:172.17.0.2 - 172.17.255.254
- 总计可用IP数量:65534个
2. docker0网络组织原理
2.1 运行容器实验
# 搜索并拉取Alpine镜像
docker search alpine
docker pull alpine# 运行容器
docker run -itd --name ap01 alpine# 查看网络接口