Docker學習總結(21)——Docke網路bridge詳解
Docker 安裝時會建立一個 命名為 docker0的 linux bridge。如果不指定--network,建立的容器預設都會掛到docker0上。
當前 docker0 上沒有任何其他網路裝置,我們建立一個容器看看有什麼變化。
一個新的網路介面 veth28c57df被掛到了docker0上,veth28c57df就是新建立容器的虛擬網絡卡。
下面看一下容器的網路配置。
容器有一個網絡卡 [email protected]。大家可能會問了,為什麼不是veth28c57df呢?
實際上 [email protected]和veth28c57df是一對 veth pair。veth pair 是一種成對出現的特殊網路裝置,可以把它們想象成由一根虛擬網線連線起來的一對網絡卡,網絡卡的一頭(
我們還看到 [email protected]已經配置了 IP172.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 網路