Docker 网络设置了容器如何与其他容器和外部服务通信。为了获得网络访问,容器需要是 Docker 网络的一部分。容器可以通信的方式取决于它的网络连接。
Docker 提供了五种标准网络模式来执行核心网络功能:
- Bridge(桥接)
- Host(主机)
- Overlay(重叠)
- IPvLAN
- Macvlan
1、桥接网络
桥接网络在主机机器和容器之间形成一个虚拟桥接。该网络上的容器可以相互通信,但与未连接到该网络的容器隔离。
特点:
每个容器都会获得一个独一无二的 IP 地址。通过与主机的桥接连接,这些容器还可以相互交互,与本地网络(LAN)和 Internet 互联。然而,它们不会以物理设备的形式出现在 LAN 上。
2、主机网络(Host Network)
使用主机网络模式的容器使用与主机机器相同的网络设置,而不会被隔离。
它们没有单独的 IP 地址。相反,它们使用的任何端口都直接链接到主机网络。
例如,如果容器进程使用端口 8080,则可以通过 192.168.1.101:8080(即主机的 IP 地址和端口号)访问它。
由于应用程序容器使用端口 8080,因此不需要端口映射,因为在这种情况下,容器使用主机端口。我们的数据库使用端口 5432,因此可以通过主机的 IP 地址和 5432 端口进行访问。
3、重叠网络(Overlay Network)
重叠网络是跨越多个 Docker 主机的网络。它们可以让这些主机上的容器相互通信,而无需操作系统管理路由。
重叠网络用于 Docker Swarm 集群。但是,如果有两个单独运行的 Docker 引擎,并且需要直接连接它们的容器,也可以这样使用它们。
上图进行了简化。在真实场景中,正如容器一样,主机也会从重叠网络获取虚拟 IP 地址,而且它们的范围是相同的。
标签:容器,桥接,主机,端口,网络,五种,Docker,详解 From: https://www.cnblogs.com/suyj/p/18284263