如何在 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 網橋將兩個容器連線到網橋。

更新於:2020-10-27

3K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.