11. Docker 网络
文章目录
1. Docker网络介绍
可以通过参数–netork对docker的网络进行配置,分别为bridge
host
overlay
macvlan
none
Network plugins
,默认使用bridge
-
bridge
默认的网络模式 桥接模式 -
host
使用主机网络 -
overlay
覆盖网络 -
macvlan
该网络模式会将容器作为一个主机分配mac地址使其显示为网络上的物理设备 -
none
禁用容器的网络服务
1.1. bridge
桥接模式
桥接模式网络拓扑图
- 在Docker(Docker服务)启动后会自动创建一个docker0虚拟网桥
- 给网桥分配一个私有网段无人使用的IP
- 当创建容器时会给容器分配一个虚拟网卡并使用veth pair接口,将其连接到网桥
- 每个容器都会有自己的ip,容器间可以通过ip进行访问
1.2. none
无网络模式
该模式会禁用容器的所有网络,一般会配合自定义网络驱动一起使用。
1.3. host
共享主机模式
直接使用主机的网络。主机模式对优化性能非常有效,特别是在一个容器需要大量端口的情况下。因为他不需要网络地址转换(NAT),并且没有为每个端口创建“用户代理”
1.4. overlay
覆盖网络模式
覆盖网络将多个Docker守护程序连接在一起,并使群集服务能够相互通信。
您还可以使用覆盖网络来促进群集服务和独立容器之间或不同Docker守护程序上的两个独立容器之间的通信。
这种策略消除了在这些容器之间进行操作系统级路由的需要。
1.5. macvlan
主机模式
Macvlan网络允许您将MAC地址分配给容器,使其在网络上显示为物理设备。
Docker守护程序通过其MAC地址将流量路由到容器。
在处理希望直接连接到物理网络而不是通过Docker主机的网络堆栈进行路由的旧应用程序时,使用macvlan驱动程序有时是最佳选择。