当前位置: 首页 > news >正文

容器化网络与Kubernetes网络深度解析

一、Docker网络基础

Docker四大网络驱动

Driver 1: Bridge (默认)
┌────────────────────────────────┐
│ Docker主机 │
│ │
│ ┌─────────────┐ ┌──────────┐ │
│ │ Container A │ │ Bridge │ │
│ │ 172.17.0.2 │ │ 172.17.0│ │─── eth0 (主机IP)
│ └─────────────┘ │ /16 │ │
│ │ │ │
│ ┌─────────────┐ │ │ │
│ │ Container B │ │ │ │
│ │ 172.17.0.3 │ │ │ │
│ └─────────────┘ └──────────┘ │
│ │
└────────────────────────────────┘

特点:
✓ 默认启用
✓ 容器间可通过bridge通信
✗ 跨主机需要额外配置
✗ 默认端口映射复杂

─────────────────────────────────────

Driver 2: Host (主机网络)
┌────────────────────────────────┐
│ Docker主机 │
│ │
│ ┌─────────────┐ │
│ │ Container A │ ◄───────┐ │
│ │ 共享主机网络 │ │ │
│ └─────────────┘ 直接访问 │
│ 主机网卡 │
│ ┌─────────────┐ │ │
│ │ Container B │ ◄───────┘ │
│ │ 共享主机网络 │ │
│ └─────────────┘ │
│ │
└────────────────────────────────┘

特点:
✓ 性能最优(零开销)
✗ 网络隔离差
✗ 端口冲突
用途: 性能关键应用(数据库服务器)

─────────────────────────────────────

Driver 3: Overlay (跨主机)
┌─────────────────┐ ┌─────────────────┐
│ Docker主机 1 │ │ Docker主机 2 │
│ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ Container A │ │ │ │ Container C │ │
│ │ 10.0.9.2 │ │ │ │ 10.0.9.3 │ │
│ └──────┬──────┘ │ │ └──────┬──────┘ │
│ │ │ │ │ │
│ ┌─────▼──────┐ │ │ ┌─────▼──────┐ │
│ │ Overlay │ │ │ │ Overlay │ │
│ │ Network │ │ │ │ Network │ │
│ │ (VXLAN) │ │ │ │ (VXLAN) │ │
│ └─────┬──────┘ │ │ └─────┬──────┘ │
│ │ │ │ │ │
└────────┼────────┘ └────────┼────────┘
│ │
└──────────VXLAN隧道──────┘
(Encapsulation)

特点:
✓ 跨主机通信
✓ 多主机网络
✗ 性能开销(VXLAN封装)
用途: Swarm模式, 多主机容器

─────────────────────────────────────

Driver 4: Macvlan (直接连接)
┌────────────────────────────────┐
│ Docker主机 │
│ │
│ ┌─────────────┐ │
│ │ Container A │ ◄──┐ │
│ │ 192.168.1.x │ │ 虚拟MAC │
│ └─────────────┘ │ 直接连接 │
│ │ 物理网络 │
│ ┌─────────────┐ │ │
│ │ Container B │ ◄─┘ │
│ │ 192.168.1.y │ │
│ └─────────────┘ │
│ │ │
│ [eth0]──────► 物理交换机 │
│ │ │
└────────────────────────────────┘

特点:
✓ 性能最优
✓ 直接网络连接
✗ MAC地址冲突风险
✗ 需要网卡混杂模式
用途: 虚拟网络接口, 直接物理网络


Docker网络配置最佳实践

bash

# 1. 创建自定义bridge网络 docker network create \ --driver bridge \ --subnet 172.20.0.0/16 \ --gateway 172.20.0.1 \ my-app-network # 2. 运行容器时指定网络 docker run -d \ --name web \ --network my-app-network \ --ip 172.20.0.10 \ nginx:latest # 3. 容器间通信使用DNS docker run -d \ --name app \ --network my-app-network \ --link web:w

http://www.jsqmd.com/news/615045/

相关文章:

  • 探索图腾柱无桥PFC的奇妙世界
  • 3步解决浏览器Markdown阅读难题:从乱码到专业渲染的蜕变之路
  • 3大突破!Kazumi跨设备进度同步带来无缝追番体验
  • 智慧停车占道车位管理器厂家怎么选?行业龙头和AI新锐标杆的对比选择 - TOP10品牌推荐榜单
  • GraalVM Native Image内存优化实战手册(含JDK21+GraalVM24.1插件全链路安装避坑清单)
  • 基于yolov8和faster-rcnn的电动车戴头盔检测,界面可选择模型,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • 0—1完整学习数据库
  • 排序算法C++
  • 实战案例】三菱FX5U PLC控制四轴自动堆垛码垛设备程序详解及显控触摸屏设计
  • Vitest单元测试教程
  • AI时代新型的项目管理应该是什么样的?么
  • 贾子科学的历史意义与现实影响:挑战西方科学哲学霸权的新范式
  • 如何用Sunshine构建家庭游戏串流中心:打破硬件限制的完整实践指南
  • Caddy GO语言写的服务器代理
  • vulhub系列-66-Hms?: 1(超详细)
  • Hampel滤波器的完整C#实现示例,适合用于信号处理(如IGBT功率循环测试中的Vf波形或TVJ数据去离群点)
  • 亚马逊停止旧款 Kindle 支持,用户与市场面临新变局
  • 2025届学术党必备的五大AI论文神器实测分析
  • XCOM RAN推出面向物理AI的端到端私有5G解决方案
  • Steam Achievement Manager:全方位游戏成就管理工具深度解析
  • iOS 15-16 iCloud激活锁绕过:applera1n图形化工具完整使用指南
  • PFC(Power Factor Correction,功率因数校正)
  • PHP条形码生成轻量级实现:从行业痛点到跨场景适配的完整解决方案
  • 第十五节:启动序列——从 claude 命令到 REPL 就绪
  • Bilibili-Evolved革新性动画性能优化指南:全方位提升B站观看体验
  • 多线程设计:join() 理解
  • 2025届最火的六大AI论文神器解析与推荐
  • 2026届学术党必备的五大AI辅助论文工具推荐
  • 光网络:弥合AI算力与消费之间的鸿沟
  • 一文搞懂 Cookie、Session 和 Token 的区别