詳解五種Docker容器的網路模式

Hello_worlds發表於2024-07-04

  Docker 網路設定了容器如何與其他容器和外部服務通訊。為了獲得網路訪問,容器需要是 Docker 網路的一部分。容器可以通訊的方式取決於它的網路連線。

  Docker 提供了五種標準網路模式來執行核心網路功能:

  •   Bridge(橋接)
  •   Host(主機)
  •   Overlay(重疊)
  •   IPvLAN
  •   Macvlan

1、橋接網路

  橋接網路在主機機器和容器之間形成一個虛擬橋接。該網路上的容器可以相互通訊,但與未連線到該網路的容器隔離。

特點:

  每個容器都會獲得一個獨一無二的 IP 地址。透過與主機的橋接連線,這些容器還可以相互互動,與本地網路(LAN)和 Internet 互聯。然而,它們不會以物理裝置的形式出現在 LAN 上。

2、主機網路(Host Network)

  使用主機網路模式的容器使用與主機機器相同的網路設定,而不會被隔離。

  它們沒有單獨的 IP 地址。相反,它們使用的任何埠都直接連結到主機網路。

  例如,如果容器程序使用埠 8080,則可以透過 192.168.1.101:8080(即主機的 IP 地址和埠號)訪問它。

  由於應用程式容器使用埠 8080,因此不需要埠對映,因為在這種情況下,容器使用主機埠。我們的資料庫使用埠 5432,因此可以透過主機的 IP 地址和 5432 埠進行訪問。

3、重疊網路(Overlay Network)

  重疊網路是跨越多個 Docker 主機的網路。它們可以讓這些主機上的容器相互通訊,而無需作業系統管理路由。

  重疊網路用於 Docker Swarm 叢集。但是,如果有兩個單獨執行的 Docker 引擎,並且需要直接連線它們的容器,也可以這樣使用它們。

  上圖進行了簡化。在真實場景中,正如容器一樣,主機也會從重疊網路獲取虛擬 IP 地址,而且它們的範圍是相同的。

相關文章