網路驅動程式概述

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

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

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

  • overlay: Overlay 網路將多個 Docker 守護程式連線在一起,並使 Swarm 服務和容器能夠跨節點通訊。此策略消除了執行作業系統級路由的需要。請參閱 Overlay 網路驅動程式.

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

  • macvlan: Macvlan 網路允許您將 MAC 地址分配給容器,使其在您的網路上顯示為物理裝置。Docker 守護程式透過其 MAC 地址將流量路由到容器。在處理需要直接連線到物理網路(而不是透過 Docker 主機網路堆疊路由)的傳統應用程式時,使用 macvlan 驅動程式有時是最佳選擇。請參閱 Macvlan 網路驅動程式.

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

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

網路驅動程式摘要

  • 預設橋接網路適用於執行不需要特殊網路功能的容器。
  • 使用者定義的橋接網路使同一 Docker 主機上的容器能夠相互通訊。使用者定義的網路通常為屬於公共專案或元件的多個容器定義一個隔離的網路。
  • 主機網路與容器共享主機的網路。當您使用此驅動程式時,容器的網路不會與主機隔離。
  • Overlay 網路最適合在需要在不同 Docker 主機上執行的容器進行通訊,或者多個應用程式使用 Swarm 服務協同工作時。
  • Macvlan 網路最適合從 VM 設定遷移,或者需要您的容器在您的網路上看起來像物理主機,每個容器都有唯一的 MAC 地址。
  • IPvlan 與 Macvlan 類似,但不會為容器分配唯一的 MAC 地址。如果對可以分配給網路介面或埠的 MAC 地址數量有限制,請考慮使用 IPvlan。
  • 第三方網路外掛允許您將 Docker 整合到專門的網路堆疊中。

網路教程

既然您瞭解了 Docker 網路的基礎知識,請使用以下教程來加深您的理解