91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker網絡管理的示例分析

發布時間:2021-12-13 16:11:51 來源:億速云 閱讀:129 作者:小新 欄目:大數據

這篇文章主要為大家展示了“Docker網絡管理的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Docker網絡管理的示例分析”這篇文章吧。

一:簡介

Docker網絡管理的示例分析

1. CNM(Container Network Model):定義了構建容器虛擬化網絡的模型,同時還提供了可以用于開發多種網絡驅動的標準化接口和組件。CNM中主要有沙盒(sandbox),端點(endpoint)和網絡(network)三種組件。

2. Docker daemon通過調用libnetwork對外提供的API完成網絡的創建和管理等功能。Libnetwork中則使用了CNM來完成網絡功能的提供。

二:CNM核心組件

1.沙盒:一個沙盒包含了一個容器網絡棧的信息。沙盒可以對容器的接口,路由和DNS設置等進行管理。一個沙盒可以有多個端點和多個網絡。

2.端點:一個端點可以加入一個沙盒和一個網絡;一個端點只可以屬于一個網絡并且只屬于一個沙盒。

3.網絡:一個網絡是一組可以直接互相聯通的端點。

三:libnetwork內置驅動

1. bridge驅動:此驅動為Docker的默認設置,使用這個驅動的時候,libnetwork將創建出來的Docker容器連接到Docker網橋上。作為最常規的模式,bridge模式已經可以滿足Docker容器最基本的使用。然而其與外界的通信使用NAT(Network Address Translation,網絡地址轉換),增加了通信的復雜性,在復雜場景下使用會有諸多限制。

2. host驅動:使用這種驅動的時候,libnetwork將不為Docker創建網絡協議棧(指網絡中各層協議的總和,其形象的反映了一個網絡中文件傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議)即不會創建獨立的network namespace. Docker容器中的進程處于宿主機的網絡環境中,相當于Docker容器和宿主機公用同一個network namespace,使用宿主機的網卡,IP和端口等信息。但是,容器其他方面,如文件系統,進程列表等還是和宿主機隔離的。Host模式很好地解決了容器與外界通信的地址轉換問題,可以直接使用宿主機的IP進行通信,不存在虛擬化網絡帶來的額外性能負擔。但是host驅動也降低了容器與容器之間,容器與宿主機之間網絡層面的隔離性,引起網絡資源的競爭與沖突。因此可以認為host驅動適用于對于容器集群規模不大的場景。

3. overlay驅動:

此驅動采用IETF標準的VXLAN方式,并且是VXLAN中被普遍認為最合適大規模的云計算虛擬化環境的SDN controller模式。在使用的過程中,需要一個額外的配置存儲服務,例如Consul,etcd或ZooKeeper.還需要在啟動Docker daemon的時候額外添加參數來指定所使用的配置存儲服務地址。

4. remote驅動:

這個驅動實際上并未做真正的網絡服務實現,而是調用了用戶自行實現的網絡驅動插件,使libnetwork實現了驅動的可插件化,更好地滿足了用戶的多種需求。用戶只要根據libnetwork提供的協議標準,實現其所要求的各個接口并向Docker daemon進行注冊。

5. null驅動:使用這種驅動的時候,Docker容器擁有自己的network namespace,但是并不為Docker容器進行任何網絡配置。也就是說,這個Docker容器除了network namespace自帶的loopback網卡外,沒有其他任何網卡,IP,路由等信息。需要用戶為Docker容器添加網卡,配置IP等。這種模式如果不進行特定的配置是無法正常使用的,但是優點也非常明顯,它給了用戶最大的自由度來自定義容器的網絡環境。

 
四:舉例


Docker網絡管理的示例分析

示例中,使用Docker默認的bridge驅動進行演示,組成一個網絡拓撲的應用。

1.  它有兩個網絡,backend network為后端網絡,frontend network為前端網絡,兩個網絡互不聯通

         2.Container1和container3各擁有一個端點,并且分別加入到后端網絡和前端網絡中。而container2則有兩個端點。
Docker網絡管理的示例分析

除了backend和frontend之外,還有3個Docker daemon默認創建的網絡,默認網絡無法使用docker network rm 進行刪除。

docker run -it --name container1 --net backend centos

docker run -it --name container2 --net backend centos

docker run -it --name container3 --net frontend centos


Docker網絡管理的示例分析
docker network connect frontend container2
Docker網絡管理的示例分析

Docker network connect命令會在所連接的容器中創建新的網卡,以完成其與所指定網絡的連接。

五:bridge驅動實現機制分析

1.  docker0網橋: linux安裝完Docker之后,宿主機上多了一塊名為docker0的網卡。每個容器中都會有兩塊網卡l0和eth0. L0是容器的回環網卡;eth0即為容器與外界通信的網卡,它和宿主機上的網橋docker0在同一個網段。


Docker網絡管理的示例分析

1.  iptables規則:Docker安裝完成后,將默認在宿主機系統上增加一些iptables規則,以用于Docker容器和容器之間及和外界的通信。

2.  Docker容器的DNS和主機名:同一個Docker鏡像可以啟動多個Docker容器,它們的主機名并不一樣,實際上容器中的/etc/hostname,/etc/hosts,/etc/resolv.conf 會被虛擬文件覆蓋掉。

以上是“Docker網絡管理的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阆中市| 鲁山县| 江门市| 兰溪市| 九寨沟县| 盐源县| 秭归县| 诏安县| 灵石县| 汉阴县| 郧西县| 垣曲县| 广宗县| 井研县| 明水县| 浙江省| 广宁县| 康乐县| 巴彦县| 德清县| 南康市| 乐平市| 郑州市| 高密市| 习水县| 资阳市| 沐川县| 宁乡县| 仪征市| 依安县| 衡东县| 梨树县| 探索| 县级市| 桑植县| 高淳县| 喀什市| 灵川县| 苏尼特左旗| 沐川县| 互助|