Docker 提供了一种为容器创建和管理网络以相互通信的方法。 创建 Docker 网络有多种方法,最简单的方法是使用 docker network create
命令。 此命令创建一个具有指定名称和驱动程序的新网络。 驱动程序指定网络上的容器如何相互通信。 最常见的驱动程序是桥接驱动程序,它用于为单个主机上的容器创建专用网络 [来源 1]。
要创建新网络,请运行以下命令:
$ docker network create NAME -d 驱动程序
要列出所有网络,请运行以下命令:
$ 码头网络 ls
默认情况下,Docker 提供三种类型的网络:bridge、host 和 none。 桥接网络是最常用的类型,它用于为单个主机上的容器创建私有网络。 当容器启动时将 --network
标志设置为桥接,它会自动连接到桥接网络 [来源 2]。
访问容器的一种方法是使用其名称。 Docker 提供了一个内置的 DNS 服务器,可以将容器名称解析为其 IP 地址。 当容器在网络上启动时,Docker 会为其分配一个唯一的主机名,可用于从同一网络上的其他容器引用该容器。 例如,如果一个容器名为“web”,则另一个容器可以使用主机名“web”[来源 1] 访问它。
访问容器的另一种方法是使用其 IP 地址。 Docker 为网络上的每个容器分配一个唯一的 IP 地址,可用于与同一网络上的其他容器通信。 要查找容器的 IP 地址,请运行以下命令:
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' CONTAINER_NAME_OR_ID
要允许网络上的容器相互通信,您可以使用“--link”选项将一个容器链接到另一个容器。 这会在两个容器之间创建一个安全隧道,并允许它们使用容器名称相互通信。 但是,不推荐使用此方法,因为它已被弃用并已被 Docker 网络 [来源 3] 取代。
使用 Docker 网络是允许容器相互通信的更好方法。 Docker 网络提供了一种为单个主机上或跨多个主机的容器创建专用网络的方法。 同一网络上的容器可以使用它们的容器名称相互通信,Docker 会自动为网络上的每个容器分配一个唯一的 IP 地址 [来源 1]。
要创建网络并将容器附加到它,请运行以下命令:
$ docker 网络创建 NETWORK_NAME
$ docker run --name CONTAINER_NAME --network NETWORK_NAME IMAGE_NAME
要将现有容器连接到网络,请运行以下命令:
$ docker 网络连接 NETWORK_NAME CONTAINER_NAME
要断开容器与网络的连接,请运行以下命令:
$ docker network disconnect NETWORK_NAME CONTAINER_NAME
使用 Docker 网络的一个好处是它们提供了容器之间的隔离。 每个网络都与其他网络和主机网络隔离,这有助于防止从网络外部对容器进行不必要的访问。 另一个好处是 Docker 网络提供了一种通过允许容器相互通信和共享数据来扩展应用程序的方法 [来源 1]。
但是,使用 Docker 网络有一些缺点。 一个缺点是它们的设置和管理可能很复杂,尤其是在使用多个网络时。 另一个缺点是它们会引入网络延迟并降低性能,尤其是在不同主机上运行容器时 [来源 3]。
总而言之,Docker 网络提供了一种为容器创建专用网络以相互通信的方法。 它们提供了一些好处,例如隔离和可伸缩性,但也有一些缺点,例如复杂性和性能降低。 使用 Docker 网络时,重要的是为您的应用程序选择正确的驱动程序和网络类型,并仔细管理网络配置以确保最佳性能和安全性 [来源 1]。
标签:怎么,容器,network,网络,docker,Docker,NAME From: https://www.cnblogs.com/wangshushuo/p/17342793.html