網路驅動程式

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 網路的基礎知識,請使用以下教程加深您的理解