網路驅動程式

Docker 的網路子系統是可插拔的,使用驅動程式。預設情況下存在多個驅動程式,並提供核心網路功能

  • bridge:預設網路驅動程式。如果您未指定驅動程式,則這是您正在建立的網路類型。當您的應用程式在需要與同一主機上的其他容器通訊的容器中執行時,通常會使用橋接網路。請參閱 橋接網路驅動程式

  • host:移除容器和 Docker 主機之間的網路隔離,並直接使用主機的網路。請參閱 主機網路驅動程式

  • overlay:覆蓋網路將多個 Docker 精靈連接在一起,並啟用 Swarm 服務和容器跨節點通訊。此策略消除了執行作業系統級路由的需要。請參閱 覆蓋網路驅動程式

  • ipvlan:IPvlan 網路讓使用者可以完全控制 IPv4 和 IPv6 位址。VLAN 驅動程式建立在其之上,讓操作員可以完全控制第 2 層 VLAN 標記,甚至可以為對基礎網路整合感興趣的使用者提供 IPvlan L3 路由。請參閱 IPvlan 網路驅動程式

  • macvlan:Macvlan 網路允許您將 MAC 位址分配給容器,使其在您的網路上顯示為實體裝置。Docker 精靈透過其 MAC 位址將流量路由到容器。在處理預期直接連線到實體網路而不是透過 Docker 主機的網路堆疊路由的舊版應用程式時,使用 macvlan 驅動程式有時是最佳選擇。請參閱 Macvlan 網路驅動程式

  • none:將容器與主機和其他容器完全隔離。none 不適用於 Swarm 服務。請參閱 無網路驅動程式

  • 網路插件:您可以使用 Docker 安裝和使用第三方網路插件。

網路驅動程式摘要

  • 預設橋接網路適用於執行不需要特殊網路功能的容器。
  • 使用者定義的橋接網路可讓同一個 Docker 主機上的容器彼此通訊。使用者定義的網路通常會為屬於共同專案或元件的多個容器定義隔離的網路。
  • 主機網路與容器共享主機的網路。當您使用此驅動程式時,容器的網路不會與主機隔離。
  • 當您需要在不同 Docker 主機上執行的容器進行通訊,或者當多個應用程式使用 Swarm 服務一起工作時,覆蓋網路是最佳選擇。
  • 當您從虛擬機設定遷移或需要您的容器在您的網路上看起來像實體主機(每個主機都具有唯一的 MAC 位址)時,Macvlan 網路是最佳選擇。
  • IPvlan 類似於 Macvlan,但不將唯一的 MAC 位址分配給容器。當可以分配給網路介面或埠的 MAC 位址數量有限制時,請考慮使用 IPvlan。
  • 第三方網路插件允許您將 Docker 與專門的網路堆疊整合。

網路教學

既然您已了解 Docker 網路的基礎知識,請使用以下教學加深您的了解