当前位置: 首页 > 编程笔记 >

如何在Docker上使用OVS Bridge进行联网?

谢英耀
2023-03-14
本文向大家介绍如何在Docker上使用OVS Bridge进行联网?,包括了如何在Docker上使用OVS Bridge进行联网?的使用技巧和注意事项,需要的朋友参考一下

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和网桥。

在NAT模式下,网桥实际上是一个虚拟接口。docker容器将具有内部ip地址和网络地址转换规则,这些规则适用于与外部世界通信。另一方面,如果它们以桥接模式连接,则桥接将是真正的网络适配器。

我们将尝试使用桥接模式连接它们。

首先,我们必须将内部IP地址配置到OVS桥接器上,然后,可以使用以下命令-

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桥将两个容器连接到桥。

 类似资料:
  • 问题内容: 我正在使用sequelize ORM;一切都很好,很干净,但是当我将其与查询一起使用时遇到了问题。我有两种模式:用户和帖子。 我想要一个查询,该查询以发布该信息的用户作为响应。在原始查询中,我得到以下信息: 我的问题是如何更改代码以使用ORM样式而不是SQL查询? 问题答案: 哪个会给你 与您发布的内容相比,上面的查询可能看起来有些复杂,但是它所做的基本上只是为用户表的所有列添加别名,

  • 问题内容: 我想用UNION和limit进行查询。 我可以在mysql上解释该查询。 我在Elasticsearch上尝试过 http:// localhost:9200 / test / table / _search?pretty&source = {%22query%22:{%22dis_max%22:{%22queries%22:[{%22query%22:{%22match%22:{%2

  • 我最近在Windows10上升级了我的Docker工具箱,现在我的音量挂载不再工作了。我什么都试过了。下面是当前的挂接路径:

  • 问题内容: 有没有一种方法可以使用VLOOKUP内部联接两个不同的Excel电子表格? 在SQL中,我可以这样进行: 工作表1: 工作表2: 结果将是: 如何在VLOOKUP中执行此操作?还是除了VLOOKUP之外还有更好的方法吗? 谢谢。 问题答案: 首先,让我们获取两个表中都存在的值的列表。如果您使用的是excel 2010或更高版本,则在工作表3 A2中输入以下公式: 如果您使用的是2007

  • 问题内容: 有人可以验证内部连接对PL SQL中的UPDATE语句是否有效吗?例如 问题答案: 该synthax在Oracle SQL中不起作用。 在Oracle中,如果表是“键保留”的,则可以更新联接,即: 假设这是的主键,则此连接是可更新的,因为对于A的每一行,B 最多 只有一行,因此该更新是确定性的。 在您的情况下,由于更新后的值不依赖于另一个表,因此您可以使用具有EXIST条件的简单更新,

  • 我想从这个网页下载数据 因此,如果我使用代码,我可以刮50个国家的数据。 按钮是在中创建的,所以我想知道在中是否有方法单击该按钮然后刮取数据。