docker學習 bridge網路

2021-09-27 05:41:15 字數 2517 閱讀 2050

docker提供幾種原生網路,從覆蓋範圍可以分為單個host上的容器網路和跨多個host的網路。

doker在安裝的時候會自動在host上建立三個網路,使用如下命令檢視

故名思議,none 網路就是什麼都沒有的網路。掛在這個網路下的容器除了 lo,沒有其他任何網絡卡。容器建立時,可以通過 --network=none 指定使用 none 網路。

該網路一般應用到一些對安全性要求高並且不需要聯網的應用,比如某個容器的唯一用途是生成隨機密碼,就可以放到 none 網路中避免密碼被竊取

連線到 host 網路的容器共享 docker host 的網路棧,容器的網路配置與 host 完全一樣。可以通過 --network=host 指定使用 host 網路。

在容器中可以看到 host 的所有網絡卡,並且連 hostname 也是 host 的。host 網路的使用場景如下:

直接使用 docker host 的網路最大的好處就是效能,如果容器對網路傳輸效率有較高要求,則可以選擇 host 網路。當然不便之處就是犧牲一些靈活性,比如要考慮埠衝突問題,docker host 上已經使用的埠就不能再用了。

docker host 的另乙個用途是讓容器可以直接配置 host 網路。比如某些跨 host 的網路解決方案,其本身也是以容器方式執行的,這些方案需要對網路進行配置,比如管理 iptables。

brige網路是應用最廣泛的網路型別。

docker 安裝時會建立乙個 命名為 docker0 的 linux bridge。如果不指定--network,建立的容器預設都會掛到 docker0 上。

當前docker0上沒有任何其他網路裝置

建立乙個名為net1的bridge網路

檢視net網橋,subnet已經自動配置為

建立乙個名為net2的bridge網橋,指定subnet=172.10.10.0/24

docker network create --driver bridage --subnet 172.10.10.0/24 --gateway 172.10.10.1 net2
啟動名為centos1的容器,並加入net1網路

啟動名為centos2的容器,並加入net2網路

啟動名為centos3的容器,並加入net2網路,同時指定該容器ip=172.10.10.10

分別檢視3個centos容器的ip位址資訊。其中cnetos2和centos3位於同一網段,centos1與前兩者位於不同網段

以下面這張圖來理解bridge網路

容器主要是通過veth pair連線到 brigde網路,它是一對成對出現的特殊網路裝置,簡單可以理解為由一根虛擬網線連線起來的一堆網絡卡,網絡卡的一頭(如eth@if34)在容器中,另外一頭(如veth28c57df)掛在網橋docker0上

Docker網路模式bridge

1.使用 bridge 的驅動 來建立bridge的網路 docker network create driver 網路型別 網路名稱 docker network create driver bridge bridge panda2.建立bridge 設定閘道器與 子網的網路docker netw...

Docker網路詳解之Bridge

docker網路有四種模式,bridge是docker預設的配置。下面是docker官網對於bridge模式的解釋 對於docker來說,網橋模式使用乙個網橋來允許連線在同乙個網橋上的容器進行通訊,同時它使得沒有連線在同乙個網橋上的容器隔離開。bridge模式在主機上自動配置規則從而使得連線不同網橋...

Docker的bridge網路聯通

bridge自定義網路已經在上次講過 docker network create driver bridge network name這一章我們主要將同一主機,相同bridge的聯通,以及不同bridge的聯通 我們建立2個network bridge my net 和my net2,設定資訊見上章...