深圳幻海软件技术有限公司 欢迎您!

如何用Portainer创建和管理Docker网络?

2023-03-20

​译者| 布加迪审校| 孙淑娟如果您刚开始接触Docker容器,可能会遇到本人青睐的Docker工具之一:Portainer。使用这个基于Web的工具,您几乎可以管理Docker容器的方方面面,网络就是其中一方面。为什么需要为Docker容器管理网络呢?简而言之,为了隔离。Doc

​译者 | 布加迪

审校 | 孙淑娟

如果您刚开始接触Docker容器,可能会遇到本人青睐的Docker工具之一:Portainer。使用这个基于Web的工具,您几乎可以管理Docker容器的方方面面,网络就是其中一方面。

为什么需要为Docker容器管理网络呢?简而言之,为了隔离。Docker网络让您可以在需要时将Docker容器连接到任意数量的网络,甚至将容器彼此隔离开来。使用Docker网络出于这几个原因:

  • 可以将容器部署到隔离的网络。
  • 需要操作系统的较少实例来运行工作负载。
  • 有助于加快应用程序交付。
  • 提高应用程序的可移植性。

在我们开始使用Portainer创建Docker网络之前,有必要了解该平台可用的不同网络驱动程序。这些驱动程序是:

  • bridge——默认网络驱动程序。当应用程序要部署到仍需要网络进行通信的独立容器时,需要多个容器与同一个主机通信时使用它。
  • host——独立容器的另一个网络,只有这个使用主机网络。用于网络堆栈不能与主机进行通信时。
  • overlay——将多个Docker守护进程连接起来,以便swarm服务可以相互通信。用于不同主机上的容器需要能够相互通信时。
  • ipvlan——让用户可以完全控制IPv4和IPv6地址。用于需要对网络拥有更大的控制权时。
  • macvlan——让您可以将MAC地址分配给容器,以便在网络上显示为物理设备。用于需要容器在网络上显示为物理主机时。

使用Portainer,您会发现缺少主机网络选项,因此只有bridge、ipvlan、macvlan和overlay可用。

如何使用Portainer创建Docker网络?

登录到Portainer实例。如果您尚未部署Portainer,请阅读​​《如何使用持久存储部署Portainer容器管理工具?》​​,了解如何部署。登录后,点击左侧边栏中的“网络”(图 A)。

图A. Portainer 侧边栏导航中的“网络”条目

在出现的窗口(图 B)中,点击“添加网络”。

图B. 在这里,您会看到几个之前创建的网络

在“创建网络”窗口(图 C)中,您要做的头一件事是为新网络命名。

图C. 在Portainer中创建第一个网络

我们称这个网络为trtest。我们将坚持使用默认的bridge驱动程序,因此从驱动程序下拉列表中选择Bridge。

接下来,定义IPv4范围、子网和网关。比如说,您可能希望分配IPv4子网10.0.0.0/16、IPv4范围10.0.0.0/25和网关10.0.0.1。如果需要排除该范围内的任何IP地址,点击“添加排除的IP”,并输入所需的值。

如果这是隔离的网络,确保将On/Off滑块切换到ON位置。此外,如果您想启用容器手动连接,将“启用容器手动连接”的On/Off 滑块切换到On位置。

您可能还希望将该网络限制于管理员或特定用户或用户组。如果您想这么做,必须先创建授权团队或授权用户。

一旦填写了必要信息,点击“创建网络”。您应该立即返回到网络列表,现在trtest可以使用了。如果点击该网络,您会看到ID以及网络配置(图 D)。

图 D. 新创建的 trtest 网络

注意,您在网络中唯一能编辑的是所有权。因此,如果您创建了一个网络,然后返回并创建了授权用户或团队,就可以将该网络重新分配给这些受限用户。否则,您无法通过网络配置更改任何内容。

如何使用新网络?

不妨使用新网络创建新容器。点击左侧边栏中的“容器”,然后点击“添加容器”。在出现的窗口中,像往常一样填写容器信息,然后点击底部附近的“网络”选项卡。在出现的屏幕中,从“网络”下拉列表中选择新网络(图 E)。

图 E. 在容器创建期间选择trtest网络

完成容器配置后,点击“部署容器”。一旦容器成功部署,它会被列出来,并应该显示您在网络中设置的IPv4范围内的IP地址(图 F)。

图 F. 我们的trtest容器(连接到trtest网络)其IP地址为10.0.0.2

恭喜您刚创建了一个Docker网络,并将其连接到容器中,这一切可通过Portainer的GUI来操作。

原文标题:​​How to create and manage Docker networks with Portainer​​​,作者:Jack Wallen​