Docker 网络

Docker 网络允许您创建一个由 Docker 容器组成的网络,该网络由一个称为管理器的主节点进行管理。Docker 网络中的容器可以通过共享信息包相互通信。在本文中,我们将讨论一些帮助您入门 Docker 网络的基本命令。

Docker 网络

网络是由两个或多个设备组成的组,它们可以通过物理或虚拟方式相互通信。Docker 网络是由 Docker 创建的虚拟网络,用于实现Docker 容器之间的通信。如果两个容器在同一主机上运行,它们可以相互通信,而无需向主机公开端口。您可以使用 Docker 以任何平台方式管理您的 Docker 主机,无论它们运行的是Windows、Linux还是两者的组合。

Docker 网络概述

网络驱动程序

Docker 中提供了几个默认的网络驱动程序,有些可以借助插件来安装,命令查看下面提到的 Docker 中的容器列表。

docker network ls 

网络驱动程序的类型

  1. bridge: 如果构建容器时没有指定驱动程序类型,则容器只会在 bridge 网络中创建,这是默认网络。

  2. host: 容器将没有任何 IP 地址,它们将直接在系统网络中创建,这将消除 docker 主机和容器之间的隔离。

  3. none: 不会为容器分配 IP 地址。我们无法从外部或任何其他容器访问这些容器。

  4. overlay: 覆盖网络将实现多个 Docker 守护进程之间的连接,并使不同的 Docker swarm 服务相互通信。

  5. ipvlan: 用户可以使用 IPvlan 驱动程序完全控制 IPv4 和 IPv6 寻址。

  6. macvlan: macvlan 驱动程序可以为容器分配 MAC 地址。

网络驱动程序

在默认网络上启动容器

1. 了解 Docker 网络命令

Docker Network命令是创建、管理和配置 Docker 网络的主要命令。让我们看看 Docker Network 命令可以配合哪些子命令使用。了解更多关于在 Docker 中创建网络以及如何将容器连接到该网络的信息。

sudo docker network

我们将逐一查看所有网络子命令。

2. 使用 Docker Network Create 命令

借助“create” 命令,我们可以创建自己的docker网络并在其中部署容器。

sudo docker network create --driver <driver-name> <bridge-name>

3. 使用 Docker Network Connect 命令

使用“连接”命令,您可以将正在运行的 Docker 容器连接到现有网络。

sudo docker network connect <network-name> <container-name or id>

在此示例中,我们将把 Ubuntu 容器连接到我们在上一步中创建的 Bridge 网络。

4. 使用 Docker Network Inspect 命令

使用 Network Inspect 命令,您可以了解 Docker 网络的详细信息。

sudo docker network inspect <network-name>

您还可以找到连接到网络的容器列表。

5. 使用 Docker Network ls 命令

要列出所有 Docker 网络,可以使用list命令。

sudo docker network ls

6. 使用 Docker Network Disconnect 命令

断开连接命令可用于从网络中删除容器。

sudo docker network disconnect <network-name> <container-name>

7. 使用 Docker 网络 rm 命令

您可以使用rm命令删除 Docker 网络。

sudo docker network rm <network-name>

请注意,如果您想删除网络,您需要确保当前没有容器引用该网络。

8. 使用 Docker Network prune 命令

要删除所有未使用的 Docker 网络,可以使用prune命令。

sudo docker network prune

要了解有关 Docker 发布的端口的更多信息,请参阅本文Docker – 管理端口

常见操作

  • docker network inspects: 我们可以使用“docker network inspect ” 命令检查特定网络的配置信息,例如网络的名称,链接到该网络的容器,用于构建该网络的驱动程序类型以及其他特性。

  • docker network ls:我们可以使用“docker network ls” 查看当前主机上可用的所有网络。

  • ddocker network creates: 使用命令“docker network create” 和驱动程序的名称,例如bridge、overlay或macvlan,我们可以建立一个新网络。

  • docker network connects: 要使用此命令,我们必须首先确认主机上已经创建了相应的网络。然后,使用 docker “network connect”,我们可以将容器连接到所需的网络。

结论

只有借助 IP 地址、网关、路由表、DNS 服务以及其他网络信息,容器才能了解正在使用的网络接口。与容器关联的网络类型是未知的;它可能是任何驱动程序,例如“网桥、主机和空”。

Leave a Comment