Networking
Docker 的 6 种网络驱动,他们决定了容器如何与外界通信
Docker 网络驱动总览
| 驱动 | 中文名 | 核心作用 |
|---|---|---|
| bridge | 桥接 | 创建一个私有内部网络,让多个容器在宿主机上互相通信 |
| host | 主机 | 容器直接使用宿主机网络,无隔离 |
| none | 无 | 完全断网,只用于特殊安全需求 |
| overlay | 覆盖网络 | 连接多个 Docker 主机(跨机器集群) |
| ipvlan | IP虚拟局域网 | 将容器接入外部 VLAN(企业级网络) |
| macvlan | 网卡虚拟化技术 | 让容器像独立设备一样出现在主机物理网络中 |
1. bridge —— 桥接网络
重要
- 默认网络驱动,创建一个虚拟“桥”连接容器,实现同一台机器上的容器间通信
- 就像你在一栋大楼里租了几个房间(容器),Docker 给你们建了一条内部走廊,你可以通过门牌号(容器名)互相串门,但外面的人看不到你
优点:
容器之间可通过 容器名 直接访问(如 db、app)
支持 DNS 解析
安全:默认不暴露到外网
缺点:
不能跨主机通信(单机限制)
性能略低于 host 模式
适用场景:
多个服务部署在同一台服务器(如你的商城项目:前端 + 后端 + 数据库)
使用 docker-compose.yml 或自定义网络时
绝大多数情况都用它!
2.host —— 主机网络(高性能但不安全)
重要
- 容器共享宿主机的网络命名空间,没有网络隔离
- 就像在别人家客厅里办公:网络插座、路由器、防火墙全是共用的——速度拉满,但你发的每条消息和收到的每个攻击包,都和屋主在同一张桌子上
优点:
不需要端口映射(-p)
性能极高(几乎无延迟)
可以监听 0.0.0.0:80,就像原生应用
缺点:
失去网络隔离 → 容器崩溃可能影响宿主机
端口冲突:如果宿主机已有服务占用了 80 端口,你就不能用了
不适合多容器协作(无法用容器名通信)
适用场景:
高性能要求的服务(如实时计算、游戏服务器)
单独运行的简单服务(不需要和其他容器通信)
只有 Linux 支持 host 模式;Windows/macOS 不支持!
3.none —— 无网络(完全隔离)
重要
- 容器拥有自己的网络栈,但没有任何接口,彻底断网
- 你住在一个封闭的房间里,连窗户都没有,只能自己思考,不能和任何人联系
优点:
最高安全性(防攻击)
适合测试或调试某些功能
缺点:
无法访问任何网络(包括互联网、其他容器)
几乎没实用价值
适用场景:
测试网络无关的功能(比如文件处理、加密算法)
极端安全环境下的临时容器
一般不用,除非你真的想“关掉网络”
4.overlay —— 覆盖网络(集群专用)
重要
- 用于 Docker Swarm 集群,连接多个 Docker 主机之间的容器
- 你在多个城市开了分店,每个城市有一台服务器(Docker Host),overlay 就是把这些城市的门店连成一张网,让你在杭州的店可以调用北京的数据库
优点:
支持跨主机通信
自动负载均衡、服务发现
是 Docker Swarm 的核心组件
缺点:
只能在 Swarm 模式下使用
配置复杂,不适合个人开发者
性能稍低(需经过隧道封装)
适用场景:
多节点 Docker 集群(如 Kubernetes 替代方案)
企业级微服务部署
如果你只是本地开发或单机部署,不要用这个!
5.ipvlan —— IP虚拟局域网(企业级网络)
重要
- 将容器绑定到宿主机的VLAN 接口,使其能像物理设备一样接入企业内网
- 你公司的网络划分了不同 VLAN(比如办公区、财务区、服务器区),ipvlan 让你的容器能加入某个 VLAN,获得真实 IP 地址
优点:
可获取真实 IP(非 NAT)
适合企业级网络策略(防火墙、ACL)
支持静态 IP 分配
缺点:
配置复杂
依赖底层网络支持(如交换机配置)
通常需要管理员权限
适用场景:
企业内部部署(如银行、医院系统)
需要静态 IP 或特定 VLAN 的服务
一般用户不会用到,属于高级网络功能
6.macvlan —— 网卡虚拟化技术(伪物理设备)
重要
- 给容器分配一个独立的 MAC 地址,让它在网络中表现为一台真实的物理设备。
- 你给一个虚拟机装了个“假身份证”,让它在公司局域网里看起来就像一台真正的电脑,能被路由器识别、被监控系统记录
优点:
可直接接入物理网络(无需 NAT)
支持广播、ARP 等协议
适合需要“真实身份”的场景
缺点:
需要宿主机有物理网卡支持
配置复杂(需指定子网、网关)
不支持容器间自动通信(除非手动配置路由)
适用场景:
旧系统迁移(原有系统基于 MAC 地址识别设备)
物联网设备模拟
网络测试、渗透测试
个人开发基本不用
版权所有
版权归属:念宇
