這篇文章將為大家詳細講解有關如何理解bridge網絡,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
默認的 bridge 網絡
Docker 安裝時會創建一個 命名為 docker0
的 linux bridge。如果不指定--network
,創建的容器默認都會掛到 docker0
上。
當前 docker0 上沒有任何其他網絡設備,我們創建一個容器看看有什么變化。
一個新的網絡接口 veth38c57df
被掛到了 docker0
上,veth38c57df
就是新創建容器的虛擬網卡。
下面看一下容器的網絡配置。
容器有一個網卡 eth0@if34
。大家可能會問了,為什么不是veth38c57df
呢?
實際上 eth0@if34
和 veth38c57df
是一對 veth pair。veth pair 是一種成對出現的特殊網絡設備,可以把它們想象成由一根虛擬網線連接起來的一對網卡,網卡的一頭(eth0@if34
)在容器中,另一頭(veth38c57df
)掛在網橋 docker0
上,其效果就是將 eth0@if34
也掛在了 docker0
上。
我們還看到 eth0@if34
已經配置了 IP 172.17.0.2
,為什么是這個網段呢?讓我們通過 docker network inspect bridge
看一下 bridge 網絡的配置信息:
原來 bridge 網絡配置的 subnet 就是 172.17.0.0/16,并且網關是 172.17.0.1。這個網關在哪兒呢?大概你已經猜出來了,就是 docker0。
容器創建時,docker 會自動從 172.17.0.0/16 中分配一個 IP,這里 16 位的掩碼保證有足夠多的 IP 可以供容器使用。
除了 none, host, bridge 這三個自動創建的網絡,用戶也可以根據業務需要創建 user-defined 網絡。
關于如何理解bridge網絡就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。