桥接、主机与覆盖网络
Docker 提供多种网络类型,每种类型在容器通信和性能上有不同特点。本节重点解析桥接网络、主机网络和覆盖网络。
1. 桥接网络(Bridge Network)
- 默认网络类型,适用于单主机部署
- 容器通过虚拟网桥(docker0)互相通信
- 容器与宿主机通信需端口映射
- 创建自定义桥接网络:
docker network create my-bridge
docker run -d --network my-bridge myapp
`
-
优势:
- 隔离容器网络,保证安全
- 可自定义子网和 IP 范围
2. 主机网络(Host Network)
- 容器共享宿主机网络栈,无隔离
- 适用于对网络性能要求高的服务
docker run --network host myapp
-
优势:
- 高性能,零网络开销
-
注意事项:
- 容器端口与宿主机冲突需注意
- 不适合多实例隔离部署
3. 覆盖网络(Overlay Network)
- 用于 Docker Swarm 或 Kubernetes 集群
- 支持跨主机容器通信
- 基于 VXLAN 封装实现安全隔离
- 创建 overlay 网络(需 Swarm 模式):
docker network create -d overlay my-overlay
-
优势:
- 跨主机通信
- 支持服务发现
-
典型场景:
- 分布式应用
- 微服务架构
4. 网络选择指南
| 网络类型 | 适用场景 | 优势 | 注意事项 |
|---|---|---|---|
| Bridge | 单主机容器通信 | 网络隔离,自定义子网 | 需端口映射访问宿主机 |
| Host | 高性能服务 | 零网络开销 | 端口冲突,缺乏隔离 |
| Overlay | 多主机集群 | 跨主机通信,服务发现 | 需 Swarm/K8s 支持,配置复杂 |
理解桥接、主机与覆盖网络的原理与应用,有助于在不同场景下选择合适网络类型,保证容器通信效率和安全性。
相关内容
- 构建自定义 Registry 本章节介绍如何搭建和管理 Docker 私有 Registry,包括部署自定义 Registry、配置存储与访问权限、镜像推送与拉取流程,以及安全与备份策略,满...
- 与 Kubernetes 的比较与协作 本章节对比 Docker 与 Kubernetes 的异同点,并讲解两者的协作方式,包括容器管理、编排、服务发现、部署流程和最佳实践,帮助理解容器生态系统中的应...
- Rootless Docker 与安全边界 本章节介绍 Rootless Docker 的使用方法及安全边界管理,包括非 root 容器运行原理、配置步骤、权限限制和网络隔离策略,提升容器安全性并降低宿主...
- 常用命令速查表 本章节提供 Docker 常用命令速查表,包括镜像管理、容器操作、网络配置、卷管理、日志查看及调试命令,帮助开发者快速查找和使用 Docker 命令,提高容器管...
- 参考文档与学习资源 本章节整理 Docker 官方文档、社区资源、教程和示例项目,帮助开发者系统学习 Docker 技术,掌握容器化应用的构建、运行、管理和优化方法。
- 示例项目与练习 本章节提供 Docker 示例项目和练习,包括容器化应用部署、Docker Compose 多服务编排、镜像优化、网络配置和存储管理,帮助开发者通过实战加深对...