項(xiàng)目8 構(gòu)建Dk容器虛擬化網(wǎng)絡(luò)電子課件_第1頁(yè)
項(xiàng)目8 構(gòu)建Dk容器虛擬化網(wǎng)絡(luò)電子課件_第2頁(yè)
項(xiàng)目8 構(gòu)建Dk容器虛擬化網(wǎng)絡(luò)電子課件_第3頁(yè)
項(xiàng)目8 構(gòu)建Dk容器虛擬化網(wǎng)絡(luò)電子課件_第4頁(yè)
項(xiàng)目8 構(gòu)建Dk容器虛擬化網(wǎng)絡(luò)電子課件_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目8構(gòu)建Docker容器虛擬化網(wǎng)絡(luò)《云網(wǎng)絡(luò)技術(shù)項(xiàng)目教程》目錄/Contents(1)(2)部署單宿主機(jī)Docker容器網(wǎng)絡(luò)部署跨宿主機(jī)Docker容器網(wǎng)絡(luò)項(xiàng)目描述通過(guò)部署OpenStack云平臺(tái)實(shí)現(xiàn)了在服務(wù)器上快速部署虛擬機(jī),提升了服務(wù)器硬件資源的利用率。為了簡(jiǎn)化應(yīng)用程序的打包、交付和部署過(guò)程,提高了開(kāi)發(fā)人員和運(yùn)維人員的工作效率,公司決定使用Docker容器技術(shù)部署各類業(yè)務(wù)系統(tǒng),項(xiàng)目經(jīng)理要求王亮安裝Docker容器引擎,部署單宿主機(jī)Docker容器網(wǎng)絡(luò)和跨宿主機(jī)的Docker容器網(wǎng)絡(luò)。

項(xiàng)目8任務(wù)思維導(dǎo)圖部署單宿主機(jī)Docker容器網(wǎng)絡(luò)【知識(shí)目標(biāo)】(1)掌握Docker鏡像與容器的關(guān)系。(2)掌握單宿主機(jī)Docker容器的內(nèi)外網(wǎng)互聯(lián)方式。(1)能夠安裝Docker容器引擎。(2)能夠部署單宿主機(jī)Docker容器網(wǎng)絡(luò)。【技能目標(biāo)】網(wǎng)絡(luò)拓?fù)浔貍渲R(shí)1.Docker容器引擎

Docker是目前最流行的容器引擎之一,它是一個(gè)開(kāi)源的軟件平臺(tái),用于快速構(gòu)建、打包和部署應(yīng)用程序到容器中,它提供了一種輕量級(jí)的虛擬化技術(shù),使開(kāi)發(fā)運(yùn)維人員能夠?qū)?yīng)用程序及其所有依賴項(xiàng)打包到一個(gè)獨(dú)立的容器中,并在任何環(huán)境中以相同的方式運(yùn)行,Docker容器引擎具備以下特點(diǎn)。(1)鏡像管理Docker使用鏡像來(lái)打包應(yīng)用程序及其依賴項(xiàng),鏡像是一個(gè)只讀的模板,包含運(yùn)行應(yīng)用程序所需的所有文件和配置。開(kāi)發(fā)人員可以基于現(xiàn)有的鏡像構(gòu)建自定義的鏡像,實(shí)現(xiàn)應(yīng)用程序的快速部署。(2)容器管理Docker可以管理容器的生命周期,包括創(chuàng)建、啟動(dòng)、停止、刪除等操作。開(kāi)發(fā)人員可以通過(guò)Docker命令行工具或DockerAPI來(lái)管理容器,實(shí)現(xiàn)對(duì)應(yīng)用程序的靈活控制。(3)跨平臺(tái)支持Docker容器可以在任何支持Docker引擎的平臺(tái)上運(yùn)行,無(wú)論是物理服務(wù)器、虛擬機(jī)還是公有云服務(wù),確保了應(yīng)用程序在不同環(huán)境中的一致性。(4)網(wǎng)絡(luò)管理Docker提供了靈活的網(wǎng)絡(luò)配置選項(xiàng),允許容器之間進(jìn)行通信,也可以通過(guò)端口映射將容器暴露給外部網(wǎng)絡(luò)。(5)存儲(chǔ)管理Docker提供了多種存儲(chǔ)驅(qū)動(dòng)程序,可以讓容器與數(shù)據(jù)卷和存儲(chǔ)卷進(jìn)行交互,實(shí)現(xiàn)數(shù)據(jù)的持久化和共享。(6)安全性Docker提供了多層次的安全機(jī)制,包括命名空間隔離、控制組隔離、資源限制、容器簽名等,保障容器環(huán)境的安全性。必備知識(shí)必備知識(shí)2.Docker鏡像和容器

鏡像和容器是Docker容器化平臺(tái)中的兩個(gè)核心概念,它們?cè)谌萜骰瘧?yīng)用程序的構(gòu)建、運(yùn)行和部署過(guò)程中扮演著重要的角色。(1)鏡像(Image)鏡像是一個(gè)只讀的模板,它包含了運(yùn)行容器所需的所有文件系統(tǒng)內(nèi)容、軟件環(huán)境、庫(kù)和設(shè)置??梢詫㈢R像看作是一個(gè)應(yīng)用程序的打包和分發(fā)形式。Docker鏡像由多個(gè)層(Layers)組成,每一層都包含了文件系統(tǒng)的一部分或一組操作,這些層組合在一起形成了完整的容器運(yùn)行環(huán)境,鏡像是用于創(chuàng)建容器的基礎(chǔ),通過(guò)鏡像可以創(chuàng)建出一個(gè)或多個(gè)具體的運(yùn)行實(shí)例,即容器??梢詮腄ocker倉(cāng)庫(kù)中下載鏡像,也可以編寫Dockerfile來(lái)定義鏡像,然后使用Docker鏡像來(lái)創(chuàng)建和運(yùn)行容器。容器可根據(jù)鏡像的定義快速啟動(dòng)和停止,并且可以在不同的環(huán)境中進(jìn)行部署和移植。(2)容器(Container)容器是基于鏡像創(chuàng)建的運(yùn)行實(shí)例,它包含了應(yīng)用程序及其依賴的所有內(nèi)容,如文件、環(huán)境變量、系統(tǒng)庫(kù)等,Docker容器提供了一個(gè)隔離的運(yùn)行環(huán)境,使得應(yīng)用程序可以在其中獨(dú)立運(yùn)行,不受外部環(huán)境的影響,每個(gè)容器都是相互隔離的,擁有自己的文件系統(tǒng)、進(jìn)程空間、網(wǎng)絡(luò)接口等資源。鏡像是容器運(yùn)行的基礎(chǔ),它提供了應(yīng)用程序運(yùn)行所需的所有環(huán)境和依賴;而容器則是鏡像的運(yùn)行實(shí)例,它提供了一個(gè)隔離的運(yùn)行環(huán)境,使得應(yīng)用程序可以在其中獨(dú)立運(yùn)行。這種基于鏡像和容器的容器化技術(shù),為開(kāi)發(fā)者提供了一種便捷、高效的應(yīng)用程序部署和管理方式。必備知識(shí)安裝基礎(chǔ)環(huán)境3.Docker容器網(wǎng)絡(luò)模式

(1)bridge網(wǎng)絡(luò)模式bridge網(wǎng)橋模式是Docker容器默認(rèn)網(wǎng)絡(luò)模式,容器使用獨(dú)立網(wǎng)絡(luò)名稱空間,在默認(rèn)模式下,容器連接到docker0虛擬網(wǎng)橋。通過(guò)docker0網(wǎng)橋以及Iptables規(guī)則與宿主機(jī)和外部主機(jī)通信。(2)host主機(jī)網(wǎng)絡(luò)模式在

Docker中,使用主機(jī)模式網(wǎng)絡(luò)意味著容器與宿主機(jī)共享網(wǎng)絡(luò)命名空間,容器將直接使用宿主機(jī)的網(wǎng)絡(luò)棧,而不再進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換。這種模式下,容器將綁定到宿主機(jī)的網(wǎng)絡(luò)接口上,使得容器可以直接訪問(wèn)宿主機(jī)上的所有網(wǎng)絡(luò)服務(wù),同時(shí)也可以讓外部網(wǎng)絡(luò)直接訪問(wèn)到容器內(nèi)的服務(wù)。(3)container容器網(wǎng)絡(luò)模式container容器網(wǎng)絡(luò)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一個(gè)網(wǎng)絡(luò)名稱空間,而不是和宿主機(jī)共享,新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的IP,而是和一個(gè)指定的容器共享IP、端口范圍等,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的,兩個(gè)容器的進(jìn)程可以通過(guò)回環(huán)網(wǎng)卡設(shè)備通信,container容器網(wǎng)絡(luò)模式適合兩個(gè)容器頻繁通信的場(chǎng)景。(4)none網(wǎng)絡(luò)模式none網(wǎng)絡(luò)模式將容器放置在它自己的網(wǎng)絡(luò)棧中,它不對(duì)網(wǎng)絡(luò)進(jìn)行任何配置,該模式關(guān)閉了容器的網(wǎng)絡(luò)功能,通常使用在容器并不需要網(wǎng)絡(luò)場(chǎng)景下,如只需要寫磁盤卷的批處理任務(wù)。安裝Docker容器引擎1.配置服務(wù)器網(wǎng)絡(luò)環(huán)境

首先使用CentOS8.ova模板機(jī)創(chuàng)建一臺(tái)名稱為node1的服務(wù)器,服務(wù)器網(wǎng)卡及IP地址配置如表所示。服務(wù)器名稱網(wǎng)卡名稱連接到網(wǎng)絡(luò)網(wǎng)絡(luò)模式IP地址網(wǎng)關(guān)node1ens160VMnet1僅主機(jī)模式

ens192VMnet8NAT網(wǎng)絡(luò)模式0服務(wù)器ens160網(wǎng)卡作為SecureCRT登錄網(wǎng)卡,ens192用于訪問(wèn)外部網(wǎng)絡(luò),安裝Docker容器引擎。配置完成后,查看node1服務(wù)器的網(wǎng)卡和IP地址配置。安裝Docker容器引擎2.配置yum源

下載Docker社區(qū)版的yum源到本地,如下所示。[root@localhost~]#curl/linux/centos/docker-ce.repo-o/etc/yum.repos.d/docker-ce.repo3.安裝啟動(dòng)Docker

需要安裝Docker引擎和命令行工具,如下所示。[root@localhost~]#yuminstalldocker-cedocker-ce-cli-y安裝完成后,啟動(dòng)Docker引擎并設(shè)置為開(kāi)機(jī)自啟,如下所示。[root@localhost~]#systemctlstartdocker&&systemctlenabledocker查看Docker引擎版本,如下所示。[root@localhost~]#docker-v結(jié)果如下所示。Dockerversion25.0.3,build4debf41安裝Docker容器引擎(2)配置免密碼登錄由于在controller服務(wù)器上部署組件時(shí),需要登錄本機(jī)和compute服務(wù)器,為避免每次輸入密碼,需要配置免密碼登錄。首先在controller上生成公鑰和私鑰,命令如下。[root@controller~]#ssh-keygen在出現(xiàn)提示時(shí),直接輸入回車即可生成公鑰和私鑰,然后將公鑰拷貝給controller服務(wù)器和compute服務(wù)器。如下所示。[root@controller~]#ssh-copy-idcontroller[root@controller~]#ssh-copy-idcompute在出現(xiàn)Areyousureyouwanttocontinueconnecting(yes/no/[fingerprint])?提示時(shí),輸入YES,然后輸入controller或者compute的密碼,這里設(shè)置的是1,即可實(shí)現(xiàn)將公鑰拷貝到本機(jī)和compute服務(wù)器上,實(shí)現(xiàn)免密碼登錄安裝Docker容器引擎Docker容器的內(nèi)外網(wǎng)互聯(lián)1.Docker容器間互聯(lián)

(1)docker0網(wǎng)橋安裝完docker引擎后,會(huì)生成一個(gè)docker0的網(wǎng)橋,查看node1服務(wù)器的網(wǎng)卡及IP地址,如圖所示,從圖中可以發(fā)現(xiàn),docker0已經(jīng)安裝到node1服務(wù)器上了。當(dāng)Docker啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋,創(chuàng)建的Docker容器連接到這個(gè)虛擬網(wǎng)橋上,運(yùn)行的多個(gè)容器通過(guò)網(wǎng)橋連接在一個(gè)二層網(wǎng)絡(luò)中。Docker會(huì)從定義的私有網(wǎng)絡(luò)中,選擇一個(gè)和宿主機(jī)不同IP地址分配給docker0,連接到docker0的容器啟動(dòng)時(shí)將獲取到與docker0同一網(wǎng)絡(luò)的IP地址。(2)創(chuàng)建2個(gè)容器①下載alpine鏡像alpine鏡像容量比較小,運(yùn)行鏡像成為容器后,容器內(nèi)支持多種網(wǎng)絡(luò)命令,如下所示。[root@controller~]#dockerpullalpine使用dockerpull命令可以從默認(rèn)的Docker倉(cāng)庫(kù)下載鏡像,這里沒(méi)有加alpine鏡像的版本,采用的是默認(rèn)版本latest。②查看鏡像下載鏡像后,可以使用dockerimages查看下載到本地的鏡像,結(jié)果如圖8-5所示Docker容器的內(nèi)外網(wǎng)互聯(lián)③創(chuàng)建容器test1基于alpine鏡像創(chuàng)建容器test1,如下所示。[root@localhost~]#dockerrun-itd--name=test1alpine/bin/sh以上命令基于alpine鏡像創(chuàng)建了test1測(cè)試容器,使用-it/bin/sh是開(kāi)啟一個(gè)終端shell進(jìn)程,保持和容器的交互,保證容器一直在運(yùn)行狀態(tài),-d是在后臺(tái)運(yùn)行容器。④創(chuàng)建容器test2基于alpine鏡像創(chuàng)建容器test2,如下所示。[root@localhost~]#dockerrun-itd--name=test2alpine/bin/sh與test1類似,以上命令基于alpine鏡像創(chuàng)建了test2測(cè)試容器。Docker容器的內(nèi)外網(wǎng)互聯(lián)(3)測(cè)試容器連通性①查看test1容器的IP地址首先進(jìn)入到test1容器,如下所示。[root@localhost~]#dockerexec-ittest1/bin/sh以上命令進(jìn)入到容器test1中,開(kāi)啟了shell為/bin/sh,查看IP地址,test1容器的IP地址為,如圖所示。Docker容器的內(nèi)外網(wǎng)互聯(lián)②查看test2容器的IP地址使用exit退出test1容器,然后進(jìn)入到test2容器,如下所示。[root@localhost~]#dockerexec-ittest2/bin/sh以上命令進(jìn)入到容器test1中,開(kāi)啟了shell為/bin/sh,查看IP地址,test2容器的IP地址為,結(jié)果如圖8-7所示。Docker容器的內(nèi)外網(wǎng)互聯(lián)③在test2容器中測(cè)試與test1容器的連通性在test2容器中測(cè)試與test1容器的連通性,結(jié)果如圖所示。從結(jié)果中發(fā)現(xiàn),test2容器和test1是能夠相互訪問(wèn)的。Docker容器的內(nèi)外網(wǎng)互聯(lián)④查看網(wǎng)橋信息在node1上,查看Docker0網(wǎng)橋信息,如圖所示。從圖中發(fā)現(xiàn),Docker0網(wǎng)橋連接著兩塊veth虛擬網(wǎng)卡,兩塊網(wǎng)卡分別連接到test1和test2容器中。Docker容器的內(nèi)外網(wǎng)互聯(lián)2.Docker容器訪問(wèn)外部網(wǎng)絡(luò)

(1)測(cè)試容器訪問(wèn)外部網(wǎng)絡(luò)主機(jī)進(jìn)入test1容器,測(cè)試與外部網(wǎng)絡(luò)主機(jī)的連通性,結(jié)果如圖所示。Docker容器的內(nèi)外網(wǎng)互聯(lián)(2)分析容器訪問(wèn)外部主機(jī)網(wǎng)絡(luò)配置test1容器訪問(wèn)外部網(wǎng)絡(luò)的原因有三個(gè),一是在test1容器中設(shè)置了去往網(wǎng)橋docker0的IP地址網(wǎng)關(guān),如圖所示。二是在容器宿主機(jī)node1服務(wù)器上,設(shè)置了默認(rèn)網(wǎng)關(guān)是,通過(guò)ens192進(jìn)行轉(zhuǎn)發(fā),如圖所示。Docker容器的內(nèi)外網(wǎng)互聯(lián)容器去往外部網(wǎng)絡(luò)的數(shù)據(jù)到達(dá)docker0后,就會(huì)轉(zhuǎn)發(fā)到ens192網(wǎng)卡上,三是node1上的iptables規(guī)則設(shè)置了源地址轉(zhuǎn)換,即將來(lái)自/16的數(shù)據(jù)轉(zhuǎn)換成出口網(wǎng)卡ens192的IP地址,如圖所示。Docker容器的內(nèi)外網(wǎng)互聯(lián)3.外部主機(jī)訪問(wèn)容器

(1)下載nginx鏡像首先下載一個(gè)nginx的鏡像,版本為1.8.1,如下所示。[root@localhost~]#dockerpullnginx:1.8.1(2)運(yùn)行nginx鏡像基于nginx:1.8.1鏡像,在后臺(tái)運(yùn)行nginx容器,將容器的80端口映射到宿主機(jī)node1的0的81端口上,也就是ens192網(wǎng)卡的81端口,如下所示。[root@localhost~]#dockerrun--name=nginx-d-p0:81:80nginx:1.8.1Docker容器的內(nèi)外網(wǎng)互聯(lián)(3)外部訪問(wèn)nginx服務(wù)在windows主機(jī)上,使用瀏覽器訪問(wèn)地址0:81,結(jié)果如下所示。從結(jié)果中發(fā)現(xiàn),已經(jīng)可以在windows上訪問(wèn)服務(wù)器node1上的nginx容器了。Docker容器的內(nèi)外網(wǎng)互聯(lián)

(4)分析外部主機(jī)訪問(wèn)容器的網(wǎng)絡(luò)配置首先進(jìn)入nginx容器,查看IP地址為,如圖所示。然后查看node1上的iptables地址轉(zhuǎn)換規(guī)則。從結(jié)果中看出,服務(wù)器node1上配置了目的地址轉(zhuǎn)換規(guī)則,將訪問(wèn)0的81端口流量發(fā)送到的80端口,實(shí)現(xiàn)了外部網(wǎng)絡(luò)主機(jī)訪問(wèn)容器內(nèi)的應(yīng)用。Docker容器的內(nèi)外網(wǎng)互聯(lián)部署跨宿主機(jī)Docker容器網(wǎng)絡(luò)【知識(shí)目標(biāo)】(1)掌握Docker容器自定義網(wǎng)絡(luò)的特點(diǎn)。(2)掌握跨宿主機(jī)Docker容器互聯(lián)的常用技術(shù)。(1)能夠創(chuàng)建Docker自定義網(wǎng)絡(luò)。(2)能夠部署跨宿主機(jī)Docker容器網(wǎng)絡(luò)。【技能目標(biāo)】網(wǎng)絡(luò)拓?fù)浔貍渲R(shí)1.Docker容器自定義網(wǎng)絡(luò)

Docker容器自定義網(wǎng)絡(luò)是由Docker提供的一種功能,用于在容器之間創(chuàng)建一個(gè)虛擬的、隔離的網(wǎng)絡(luò)環(huán)境。通過(guò)創(chuàng)建自定義網(wǎng)絡(luò),可以讓連接到同一網(wǎng)絡(luò)的容器之間進(jìn)行通信,而與主機(jī)上的其他網(wǎng)絡(luò)和容器隔離開(kāi)來(lái)。自定義網(wǎng)絡(luò)的主要特點(diǎn)包括以下4點(diǎn)。(1)隔離性自定義網(wǎng)絡(luò)提供了一種隔離的網(wǎng)絡(luò)環(huán)境,使得連接到同一網(wǎng)絡(luò)的容器可以相互通信,而與主機(jī)上的其他網(wǎng)絡(luò)隔離開(kāi)來(lái)。這種隔離性能夠確保容器之間的通信不會(huì)干擾主機(jī)上的其他網(wǎng)絡(luò)或容器。(2)靈活性用戶可以根據(jù)自己的需求創(chuàng)建多個(gè)不同的自定義網(wǎng)絡(luò),并將容器連接到這些網(wǎng)絡(luò)中。這使得可以根據(jù)應(yīng)用程序的需求,將容器組織成不同的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以實(shí)現(xiàn)更靈活的網(wǎng)絡(luò)架構(gòu)。(3)IP地址管理Docker會(huì)為每個(gè)連接到自定義網(wǎng)絡(luò)的容器分配一個(gè)獨(dú)立的IP地址,使得容器可以通過(guò)IP地址進(jìn)行通信。此外,Docker還提供了內(nèi)置的DNS服務(wù),使得容器可以使用其他容器的名稱進(jìn)行解析,而無(wú)需使用IP地址。(4)多網(wǎng)絡(luò)連接一個(gè)容器可以連接到多個(gè)不同的自定義網(wǎng)絡(luò),以便與不同網(wǎng)絡(luò)的容器進(jìn)行通信。這種多網(wǎng)絡(luò)連接功能可以用于構(gòu)建更復(fù)雜的網(wǎng)絡(luò)架構(gòu)和應(yīng)用場(chǎng)景。必備知識(shí)2.容器跨宿主機(jī)通信常用技術(shù)

(1)VXLAN網(wǎng)絡(luò)VXLAN是一種基于虛擬隧道技術(shù)的容器網(wǎng)絡(luò)解決方案,它可以在底層網(wǎng)絡(luò)上創(chuàng)建一個(gè)邏輯網(wǎng)絡(luò),并為每個(gè)容器分配唯一IP地址。VXLAN網(wǎng)絡(luò)可以實(shí)現(xiàn)容器跨宿主機(jī)和跨數(shù)據(jù)中心的網(wǎng)絡(luò)通信,同時(shí)也支持網(wǎng)絡(luò)隔離和高級(jí)網(wǎng)絡(luò)策略。VXLAN的優(yōu)點(diǎn)是具有較好的可擴(kuò)展性和靈活性,可以適應(yīng)不同規(guī)模和復(fù)雜度的網(wǎng)絡(luò)環(huán)境。(2)Macvlan網(wǎng)絡(luò)Macvlan是一種基于物理網(wǎng)卡的容器網(wǎng)絡(luò)解決方案,它可以將容器直接綁定到物理網(wǎng)卡上,并為每個(gè)容器分配一個(gè)唯一的MAC地址和IP地址。Macvlan網(wǎng)絡(luò)可以實(shí)現(xiàn)容器與宿主機(jī)之間的網(wǎng)絡(luò)隔離,同時(shí)也可以實(shí)現(xiàn)容器之間的網(wǎng)絡(luò)通信。Macvlan的優(yōu)點(diǎn)是網(wǎng)絡(luò)性能高,且支持多播和廣播等高級(jí)網(wǎng)絡(luò)功能,適合需要高性能網(wǎng)絡(luò)的場(chǎng)景。但是,它也有一些限制,比如不能跨主機(jī)使用,且需要提前配置好物理網(wǎng)卡。必備知識(shí)(3)Calico網(wǎng)絡(luò)Calico是一個(gè)開(kāi)源的容器網(wǎng)絡(luò)和網(wǎng)絡(luò)安全解決方案,它基于標(biāo)準(zhǔn)的IP協(xié)議棧來(lái)實(shí)現(xiàn)容器的網(wǎng)絡(luò)互聯(lián)。Calico使用BGP協(xié)議來(lái)路由容器之間的流量,可以實(shí)現(xiàn)跨宿主機(jī)的容器網(wǎng)絡(luò)通信。(4)Flannel網(wǎng)絡(luò)Flannel是一個(gè)輕量級(jí)的容器網(wǎng)絡(luò)解決方案,它基于VXLAN或UDP報(bào)文進(jìn)行容器間通信。Flannel可以在多個(gè)Docker宿主機(jī)之間創(chuàng)建一個(gè)虛擬網(wǎng)絡(luò),并為每個(gè)容器分配一個(gè)唯一的IP地址。(5)WeaveNet網(wǎng)絡(luò)WeaveNet是一種開(kāi)源的容器網(wǎng)絡(luò)解決方案,并提供豐富的網(wǎng)絡(luò)策略和安全功能,可以實(shí)現(xiàn)容器跨宿主機(jī)訪問(wèn)。必備知識(shí)創(chuàng)建Docker自定義網(wǎng)絡(luò)1.配置服務(wù)器網(wǎng)絡(luò)環(huán)境

首先使用CentOS8.ova模板機(jī)創(chuàng)建兩臺(tái)服務(wù)器,名稱為node1和node2,服務(wù)器網(wǎng)卡及IP地址配置如表所示。服務(wù)器名稱網(wǎng)卡名稱連接到網(wǎng)絡(luò)網(wǎng)絡(luò)模式IP地址網(wǎng)關(guān)node1ens160VMnet1僅主機(jī)模式

ens192VMnet8NAT網(wǎng)絡(luò)模式0Node2ens160VMnet1僅主機(jī)模式

ens192VMnet8NAT網(wǎng)絡(luò)模式0服務(wù)器ens160網(wǎng)卡作為SecureCRT登錄網(wǎng)卡,ens192用于訪問(wèn)外部網(wǎng)絡(luò),安裝Docker容器引擎,同時(shí)作為兩臺(tái)服務(wù)器上容器之間的互聯(lián)網(wǎng)卡,配置完成后,查看node1服務(wù)器的網(wǎng)卡和IP地址配置,如圖所示。查看node2服務(wù)器的網(wǎng)卡和IP地址配置,如圖所示。創(chuàng)建Docker自定義網(wǎng)絡(luò)2.安裝Docker容器鏡像

按照任務(wù)8-1安裝Docker容器引擎方法在服務(wù)器node1和node2上安裝Docker引擎,查看node1上的Docker容器版本,如圖所示。查看node2上的Docker容器版本,如圖所示。創(chuàng)建Docker自定義網(wǎng)絡(luò)3.創(chuàng)建自定義網(wǎng)絡(luò)

(1)在node1服務(wù)器上創(chuàng)建Docker容器自定義網(wǎng)絡(luò)創(chuàng)建名稱為mynet,子絡(luò)地址為/16的自定義網(wǎng)絡(luò),如下所示。[root@node1~]#dockernetworkcreate--subnet=/16mynet創(chuàng)建完成后,查看Docker容器網(wǎng)絡(luò),結(jié)果如圖所示(2)在node2服務(wù)器上創(chuàng)建Docker容器自定義網(wǎng)絡(luò)創(chuàng)建名稱為mynet,子絡(luò)地址為/16的自定義網(wǎng)絡(luò),如下所示。[root@node2~]#dockernetworkcreate--subnet=/16mynet創(chuàng)建完成后,查看Docker容器網(wǎng)絡(luò),結(jié)果如圖所示創(chuàng)建Docker自定義網(wǎng)絡(luò)部署Docker容器跨宿主機(jī)互聯(lián)網(wǎng)絡(luò)1.基于自定義網(wǎng)絡(luò)創(chuàng)建容器

(1)下載alpine鏡像使用alpine鏡像運(yùn)行測(cè)試容器,在兩臺(tái)服務(wù)器上都下載鏡像,如下所示。[root@node1~]#dockerpullalpine[root@node2~]#dockerpullalpine(2)在node1上創(chuàng)建測(cè)試容器test1基于alpine鏡像和mynet自定義網(wǎng)絡(luò)創(chuàng)建容器test1,如下所示。[root@node1~]#dockerrun-itd--name=test1--ip--network=mynetalpine/bin/sh在node1上基于alpine鏡像和mynet自定義網(wǎng)絡(luò)創(chuàng)建了test1測(cè)試容器,指定了容器的IP地址為,使用-it/bin/sh是開(kāi)啟一個(gè)終端shell進(jìn)程,保持和容器的交互,保證容器一直在運(yùn)行狀態(tài),-d是在后臺(tái)運(yùn)行容器。(3)在node2上創(chuàng)建測(cè)試容器test2基于alpine鏡像和mynet自定義網(wǎng)絡(luò)創(chuàng)建容器test2,如下所示。[root@node2~]#dockerrun-itd--name=test2--ip--network=mynetalpine/bin/sh在node2上基于alpine鏡像和mynet自定義網(wǎng)絡(luò)創(chuàng)建了test2測(cè)試容器,指定了容器的IP地址為,使用-it/bin/sh是開(kāi)啟一個(gè)終端shell進(jìn)程,保持和容器的交互,保證容器一直在運(yùn)行狀態(tài),-d是在后臺(tái)運(yùn)行容器。部署Docker容器跨宿主機(jī)互聯(lián)網(wǎng)絡(luò)(4)查看node1和node2的網(wǎng)橋在node1上查看網(wǎng)橋及連接網(wǎng)卡,結(jié)果如圖所示。從結(jié)果中發(fā)現(xiàn),node1增加了的網(wǎng)橋br-7e4e91eb5623,連接到了veth220e278網(wǎng)卡,新增加的網(wǎng)橋是由于創(chuàng)建了mynet自定義網(wǎng)絡(luò),綁定的網(wǎng)卡連接到了容器test1。在node2上查看網(wǎng)橋及連接網(wǎng)卡,結(jié)果如圖所示。從結(jié)果中發(fā)現(xiàn),node2增加了的網(wǎng)橋br-7a24cde993c6,連接到了veth931b54f網(wǎng)卡,新增加的網(wǎng)橋是由于創(chuàng)建了mynet

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論