docker 提供多种网络模式,可用于配置网络连接:bridge:创建隔离网络空间,容器具有自己的 ip 地址,可以相互通信。host:容器共享宿主机的网络堆栈,具有相同的 ip 地址。none:容器没有 ip 地址,无法与其他网络通信。contAIner:容器加入另一个容器的网络空间,共享相同的 ip 地址。overlay:使用虚拟网络连接跨主机的容器,提供高可用性和扩展性。
Docker 的网络模式
Docker 提供了多种网络模式,可用于在容器、主机和外部网络之间配置网络连接。
默认模式:Bridge
- 隔离的网络空间,在宿主机上创建虚拟网桥,并将容器连接到该虚拟网桥上。
- 容器可以相互通信,但无法直接访问宿主机。
- 容器具有自己的 IP 地址,可以从其他容器和外部网络访问。
Host 模式
- 容器共享宿主机的网络堆栈。
- 容器具有与宿主机相同的 IP 地址。
- 容器可以直接访问宿主机上的所有网络资源。
None 模式
- 容器不会创建或加入任何网络。
- 容器没有 IP 地址,也无法与其他容器或外部网络通信。
Container 模式
- 容器加入另一个容器的网络空间。
- 两个容器共享相同的网络命名空间,因此具有相同的 IP 地址。
- 子容器可以共享主容器的网络资源。
Overlay 模式
- 使用虚拟网络来连接跨主机的容器。
- 容器可以相互通信,无论它们位于哪个主机上。
- 提供高可用性和扩展性。
选择合适的网络模式
选择最合适的网络模式取决于容器与其他容器和外部网络所需的通信级别。
- 独立通信:使用 Bridge 模式。
- 与宿主机共享网络:使用 Host 模式。
- 向外部网络隐藏容器:使用 None 模式。
- 共享网络资源:使用 Container 模式。
- 跨主机连接:使用 Overlay 模式。