Docker網(wǎng)絡(luò)管理的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Docker網(wǎng)絡(luò)管理的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Docker網(wǎng)絡(luò)管理的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元南豐做網(wǎng)站,已為上家服務(wù),為南豐各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

一:簡介

Docker網(wǎng)絡(luò)管理的示例分析

1. CNM(Container Network Model):定義了構(gòu)建容器虛擬化網(wǎng)絡(luò)的模型,同時還提供了可以用于開發(fā)多種網(wǎng)絡(luò)驅(qū)動的標(biāo)準(zhǔn)化接口和組件。CNM中主要有沙盒(sandbox),端點(endpoint)和網(wǎng)絡(luò)(network)三種組件。

2. Docker daemon通過調(diào)用libnetwork對外提供的API完成網(wǎng)絡(luò)的創(chuàng)建和管理等功能。Libnetwork中則使用了CNM來完成網(wǎng)絡(luò)功能的提供。

二:CNM核心組件

1.沙盒:一個沙盒包含了一個容器網(wǎng)絡(luò)棧的信息。沙盒可以對容器的接口,路由和DNS設(shè)置等進(jìn)行管理。一個沙盒可以有多個端點和多個網(wǎng)絡(luò)。

2.端點:一個端點可以加入一個沙盒和一個網(wǎng)絡(luò);一個端點只可以屬于一個網(wǎng)絡(luò)并且只屬于一個沙盒。

3.網(wǎng)絡(luò):一個網(wǎng)絡(luò)是一組可以直接互相聯(lián)通的端點。

三:libnetwork內(nèi)置驅(qū)動

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

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

3. overlay驅(qū)動:

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

4. remote驅(qū)動:

這個驅(qū)動實際上并未做真正的網(wǎng)絡(luò)服務(wù)實現(xiàn),而是調(diào)用了用戶自行實現(xiàn)的網(wǎng)絡(luò)驅(qū)動插件,使libnetwork實現(xiàn)了驅(qū)動的可插件化,更好地滿足了用戶的多種需求。用戶只要根據(jù)libnetwork提供的協(xié)議標(biāo)準(zhǔn),實現(xiàn)其所要求的各個接口并向Docker daemon進(jìn)行注冊。

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

 
四:舉例


Docker網(wǎng)絡(luò)管理的示例分析

示例中,使用Docker默認(rèn)的bridge驅(qū)動進(jìn)行演示,組成一個網(wǎng)絡(luò)拓?fù)涞膽?yīng)用。

1.  它有兩個網(wǎng)絡(luò),backend network為后端網(wǎng)絡(luò),frontend network為前端網(wǎng)絡(luò),兩個網(wǎng)絡(luò)互不聯(lián)通

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

除了backend和frontend之外,還有3個Docker daemon默認(rèn)創(chuàng)建的網(wǎng)絡(luò),默認(rèn)網(wǎng)絡(luò)無法使用docker network rm 進(jìn)行刪除。

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網(wǎng)絡(luò)管理的示例分析
docker network connect frontend container2
Docker網(wǎng)絡(luò)管理的示例分析

Docker network connect命令會在所連接的容器中創(chuàng)建新的網(wǎng)卡,以完成其與所指定網(wǎng)絡(luò)的連接。

五:bridge驅(qū)動實現(xiàn)機(jī)制分析

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


Docker網(wǎng)絡(luò)管理的示例分析

1.  iptables規(guī)則:Docker安裝完成后,將默認(rèn)在宿主機(jī)系統(tǒng)上增加一些iptables規(guī)則,以用于Docker容器和容器之間及和外界的通信。

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

以上是“Docker網(wǎng)絡(luò)管理的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

當(dāng)前名稱:Docker網(wǎng)絡(luò)管理的示例分析-創(chuàng)新互聯(lián)
文章地址:http://muchs.cn/article8/cdscop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、ChatGPT、用戶體驗、手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司