Docker學習筆記(五)Docker跨主機網絡--基礎

一、跨主機的網絡方案:

(1)docker原生的有overlay和macvlan;
(2)第三方方案:常用的包括flane、weave和calico;

二、libnetwork和CNM:

libnetwork是docker容器網絡庫,最核心的內容是其定義的Container Network Model,這個模型對容器的網絡進行了抽象,由以下三部分組成:
Sandbox是容器的網絡棧,容器上的整個網絡組件的集合,包括interface,DNS和路由表等。Linux Network Namespace是Sandbox的標準實現,Sandbox可以包含來自多個不同Network的Endpoint;
Endpoint的作用是將Sandbox接入Network,她的典型實現是veth pair,一端在Network上,一端在容器內。一個Endpoint只能屬於一個網絡,也只能屬於一個Sandbox。
Network包含一組Endpoint,同一Network的Endpoint可以直接通信,Network的實現可以是Linux Bridge、VLAN等。
綜合以上三點,說白了就是:
Sandbox是容器內所有網絡組件的統稱,Endpoint是容器上的網卡,Network是我們創建的虛擬網橋。
有多少個容器,就會有多少個Sandbox,每個容器只有一個Sandbox。
一個Sandbox可以有多個Endpoint,但一個Endpoint只能屬於一個Sandbox。
同樣一個Network可以有多個Endpoint,同一Network的Endpoint之間可以直接通信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章