Docker 的网络模式
- Bridge 模式(默认):
- 特点:这是 Docker 默认的网络模式。当 Docker 守护进程启动时,它会创建一个虚拟网桥(默认为
docker0
),然后将每个容器连接到这个网桥上。容器之间通过 IP地址进行通信。在桥接网络中,容器可以通过端口映射与外部系统通信,即可以指定宿主机的某个端口转发到容器的某一个端口。 - 适用场景:适用于大多数场景,如微服务间的隔离通信。
- Host 模式:
- 特点:使用 host 模式的容器不会获得独立的 IP 地址,而是直接使用宿主机的 IP 地址和端口。这种模式下容器可以直接暴露服务到宿主机的网络接口,不需要进行端口映射。这种方式的优点是性能较好,因为没有网络地址转换(NAT)带来的开销,但缺点是可能引起端口冲突。
- 适用场景:需要高性能或避免端口冲突的场景(如数据库服务)
- None 模式:
- 特点:容器无网络配置(无 IP、网关等),完全隔离且无法与其他容器或外部通信。
- 适用场景:需要极高安全性的场景
- Overlay 模式:用
- 特点:于多主机容器网络互联,使得不同主机上的容器可以通过 overlay 网络相互通信。这对于分布式应用非常有用,尤其是在使用 Docker Swarm 进行集群管理时。
- 适用场景:分布式系统或跨主机部署。