Docker 网络模式

1. Bridge 模式(默认)

  • 工作原理
    创建虚拟网桥 docker0,容器通过 veth pair 设备连接到网桥,分配私有 IP(如 172.17.0.0/16),通过 NAT 与外部通信148

  • 特点

    • 隔离性:容器间网络隔离,需端口映射(-p)暴露服务16

    • 性能:中等,存在 NAT 开销3

  • 适用场景:单机环境下的容器互通(如本地开发、小型应用)26

  • 示例命令

    bash
     
    docker run -d --network bridge -p 8080:80 nginx

🖥️ 2. Host 模式

  • 工作原理
    容器共享宿主机的网络命名空间,直接使用宿主机 IP 和端口,无独立网络栈178

  • 特点

    • 隔离性:无网络隔离,容器端口与宿主机冲突风险高16

    • 性能:最优,无 NAT 或网桥开销37

  • 适用场景:高性能需求(如高频日志处理、网络密集型应用)27

  • 示例命令

    bash
     
    docker run -d --network host nginx

🔒 3. None 模式

  • 工作原理
    容器仅有 lo 回环接口,无外部网络连接,需手动配置网络168

  • 特点

    • 隔离性:完全网络隔离,安全性最高15

    • 性能:不涉及外部通信3

  • 适用场景:离线任务、高度安全环境或自定义网络配置57

  • 示例命令

    bash
     
    docker run -d --network none alpine

🔗 4. Container 模式

  • 工作原理
    新容器共享指定容器的网络命名空间(IP、端口等),文件系统与进程仍隔离167

  • 特点

    • 隔离性:网络共享,其他资源隔离1

    • 性能:高效,容器间通过 lo 直接通信7

  • 适用场景:紧密耦合的容器组(如 Kubernetes Pod)16

  • 示例命令

    bash
     
    docker run -d --name web nginx
    docker run -d --network container:web busybox

🌐 5. Overlay 模式

  • 工作原理
    跨主机创建虚拟网络,通过 VXLAN 封装数据包,实现容器跨节点通信235

  • 特点

    • 隔离性:多主机间容器网络隔离3

    • 性能:中等,依赖封装和解封装3

  • 适用场景:分布式系统、Swarm/Kubernetes 集群25

  • 示例命令

    bash
     
    docker network create -d overlay my-overlay
    docker service create --network my-overlay nginx

📡 6. Macvlan 模式

  • 工作原理
    为容器分配独立 MAC 地址,使其直接接入物理网络,像普通物理设备一样通信235

  • 特点

    • 隔离性:容器与物理网络融合,支持 VLAN 划分35

    • 性能:接近物理网络,无额外转发3

  • 适用场景:容器需直接暴露于物理网络(如 IoT 设备模拟、传统网络迁移)25

  • 示例命令

    bash
     
    docker network create -d macvlan --subnet=192.168.1.0/24 -o parent=eth0 my-macvlan
    docker run -d --network my-macvlan nginx

💎 核心区别总结

模式 网络隔离 性能 配置复杂度 典型场景
Bridge 中等(NAT 隔离) ⭐⭐ 单机容器互通
Host ⭐⭐⭐⭐ 高性能网络应用
None 完全隔离 - 高(需手动) 安全隔离/离线任务
Container 共享网络栈 ⭐⭐⭐ 容器组(如 Pod)
Overlay 跨主机隔离 ⭐⭐ 集群/跨主机通信
Macvlan 物理网络融合 ⭐⭐⭐⭐ 容器直接接入物理网络

💡 选择建议

  • 单机开发 → Bridge

  • 性能敏感 → Host

  • 跨主机集群 → Overlay

  • 传统网络集成 → Macvlan

可通过 docker network ls 查看现有网络,docker network inspect <NETWORK> 获取详情35。具体实践案例可参考各模式的示例命令及来源文档。

posted @ 2025-07-04 15:42  若-飞  阅读(45)  评论(0)    收藏  举报