Docker 網路上的使用者定義橋接


在本文中,我們將討論為什麼您應該在預設橋接網路上使用使用者定義的橋接網路。我們還將使用實際示例演示相同內容。

如果您對容器網路使用使用者定義的橋接,則該網路中的所有容器都會自動相互公開所有必需的埠,但不會公開到外部世界。這增加了容器之間的互操作性並提供了更好的隔離。

當您使用預設橋接網路建立 Docker 容器時,只能使用 IP 地址訪問彼此。但在使用者定義的橋接網路的情況下,您可以使用名稱或別名訪問它們。

為了連線或斷開 Docker 容器,您可以在使用者定義的網路中輕鬆地隨時進行操作。但在預設橋接網路的情況下,您需要停止容器並使用其他網路選項重新分配它們。如果使用者定義的橋接網路中的不同應用程式組具有不同的需求,您可以輕鬆地配置它們。

  • 建立橋接網路

讓我們使用以下命令建立一個名為 alpine-net 的橋接網路。

sudo docker network create −−driver bridge my−alpine−net

這將返回已建立網路的網路 ID。

  • 列出所有網路

要檢查 my-alpine-net 橋接網路是否已成功建立,請列出所有網路。

sudo docker network ls

您會發現 my-alpine-net 網路已使用橋接驅動程式和本地範圍建立。

  • 檢查 alpine-net

您現在可以使用以下命令檢查 my-alpine-net 橋接網路。

sudo docker network inspect my−alpine−net

您會發現該網路當前不包含與其關聯的任何容器。

  • 建立容器

讓我們嘗試建立容器並將其與不同的網路規範相關聯。

我們將在此處建立 3 個 Alpine 映象容器。

  • 建立一個名為“my-alpine-01”的容器,該容器要連線到預設橋接網路。

  • 建立另一個名為“my-alpine-02”的容器,該容器要連線到 my-alpine-net 網路。

  • 最後,建立另一個名為“my-alpine-03”的容器,該容器要連線到預設橋接網路和 my-alpine-net 網路。

sudo docker run −dit −−name my−alpine−01 alpine ash
sudo docker run −dit −−name my−alpine−02 −−network my−alpine−net alpine ash
sudo docker run −dit −−name alpine3 alpine ash
sudo docker network connect my−alpine−net alpine3
  • 檢查網路

建立 Docker 容器並將其與網路關聯後,我們現在可以檢查網路。

sudo docker network inspect my−alpine−net
sudo docker network inspect bridge

您會發現 my-alpine-01 和 my-alpine-03 容器與預設橋接網路相關聯。此外,my-alpine-02 和 my-alpine-03 容器與 my-alpine-net 網路相關聯。

  • 觀察結果

容器 my-alpine-02 和 my-alpine-03 連線到 my-alpine-net 使用者定義的橋接網路。您可以轉到其中任何一個容器並使用容器的名稱或別名 ping 另一個容器。

容器 my-alpine-01 和 my-alpine-03 連線到預設橋接網路。如果您轉到其中任何一個容器並嘗試 ping 另一個容器,則需要指定 IP 地址,並且不能使用容器的名稱或別名。

sudo docker attach my−alpine−03
ping −c 3 172.17.0.2

以上命令將成功。在這裡,我們進入了 my-alpine-03 容器並使用其 IP 地址 ping 了 my-alpine-01 容器。

sudo docker attach my−alpine−02
ping −c 3 my−alpine−03

以上命令也將成功,因為我們在使用者定義的橋接網路中並使用名稱 ping 了另一個容器。但是,以下命令將引發錯誤。

sudo docker attach my−alpine−01
ping −c 3 my−alpine−03

此外,如果您進入 my-alpine-02 容器並嘗試 ping my-alpine-01 容器,它將引發錯誤,因為它們位於不同的子網中。

總而言之,在本文中,我們看到了在預設橋接網路上建立使用者定義的自定義橋接網路的優勢。您可以透過其名稱或別名訪問使用者定義的橋接網路中的其他容器,並且與預設橋接網路相比,它還提供了更好的互操作性。

更新於:2020年10月27日

903 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告