docker的bridge模式詳解
阿新 • • 發佈:2020-10-11
Bridge模式的拓撲
(1)當Docker server啟動時,會在主機上建立一個名為docker0的虛擬網橋,此主機上啟動的Docker容器會連線到這個虛擬網橋上。
(3)虛擬網橋的工作方式和物理交換機類似,這樣主機上的所有容器就通過交換機連在了一個二層網路中。
(3)接下來就要為容器分配IP了,Docker會從RFC1918所定義的私有IP網段中,選擇一個和宿主機不同的IP地址和子網分配給docker0,連線到docker0的容器就從這個子網中選擇一個未佔用的IP使用。如一般Docker會使用172.17.0.0/16這個網段,並將172.17.0.1/16分配給docker0網橋(docker0的可以認為它是網橋的管理介面,在宿主機上作為一塊虛擬網絡卡使用)。
Docker完成以上網路配置的過程大致是這樣的:
-
在主機上建立一對虛擬網絡卡veth pair裝置。veth裝置總是成對出現的,它們組成了一個數據的通道,資料從一個裝置進入,就會從另一個裝置出來。因此,veth裝置常用來連線兩個網路裝置。
-
Docker將veth pair裝置的一端放在新建立的容器中,並命名為eth0。另一端放在主機中,以veth65f9這樣類似的名字命名,並將這個網路裝置加入到docker0網橋中,可以通過brctl show命令檢視。
-
從docker0子網中分配一個IP給容器使用,並設定docker0的IP地址為容器的預設閘道器。