如何在 Docker 中使用 OVS 网桥进行网络连接?
OVS 网桥或 Open vSwitch 网桥用作 Linux 中原生网桥的替代方案。它支持物理交换机中的大多数功能,同时还支持单个网桥上的多个 VLAN。它在 Docker 网络中也得到了广泛使用,因为它被证明对多主机网络很有用,并且与原生网桥相比提供了更安全的通信。
在本文中,我们将讨论如何使用 Open vSwitch 网桥 (OVS) 执行 Docker 网络。我们将讨论有助于安装 OVS 和 Docker 的 OVS 实用程序的各种命令。然后,我们将尝试创建一个 OVS 网桥,然后将两个 Docker 容器连接到该网桥。最后,我们将尝试使用 ping 命令测试连接。
安装 OVS 网桥
要在 Linux 系统中安装 Open vSwitch 网桥,可以使用以下 apt−get 命令。
sudo apt−get −y install openvswitch−switch
为 Docker 安装 OVS 实用程序
要安装 OVS Docker 实用程序,可以使用以下命令:
移动到当前用户的 bin 目录。
sudo cd /usr/bin
使用以下 wget 命令下载 openvswitch 仓库:
sudo cd /usr/bin
使用以下命令更改访问权限。rwx 权限确保所有者、组和用户都设置了 rwx,从而赋予他们读取、写入和执行权限。
sudo chmod a+rwx ovs−docker
创建 OVS 网桥
现在让我们创建一个新的 OVS 网桥,并添加和配置它,以便在不同网络上的 Docker 容器相互连接。
sudo ovs−vsctl add−br ovs−br1
ovs−vsctl 命令用于查询和配置 OVS 交换机。它创建并添加了一个 ovs 网桥。
可以使用以下命令显示 ovs 网桥。
sudo ovs−vsctl show
将容器连接到网桥
我们可以使用两种不同的模式(NAT 和 Bridge)将容器连接到网桥。
在 NAT 模式下,网桥实际上是一个虚拟接口。Docker 容器将具有内部 IP 地址,并应用网络地址转换规则以与外部世界通信。另一方面,如果它们以桥接模式连接,则网桥将成为一个真正的网络适配器。
我们将尝试使用桥接模式连接它们。
首先,我们必须在 OVS 网桥上配置内部 IP 地址,为此,我们可以使用以下命令:
sudo ifconfig ovs−br1 173.16.1.1 netmask 255.255.255.0 up
现在,我们将创建两个与 ubuntu 镜像关联的不同 Docker 容器。
sudo docker run −it −−name myContainer1 ubuntu bash sudo docker run −it −−name myContainer2 ubuntu bash
现在,我们将尝试使用以下命令将容器与 OVS 网桥连接。
sudo ovs−docker add−port ovs−br1 eth1 myContainer1 −−ipaddress=173.16.1.2/24 sudo ovs−docker add−port ovs−br1 eth1 myContainer2 −−ipaddress=173.16.1.3/24
以上命令将容器连接到网桥并将 IP 地址与它们关联。
现在,您可以轻松地使用 ping 命令测试连接。
总之,在本文中,我们了解了如何创建、添加和使用 OVS 网桥将两个容器连接到网桥。