如何理解Docker的體系架構(gòu)
首先,在了解Docker架構(gòu)之前,應(yīng)該了解Docker守護(hù)程序。
什么是Docker守護(hù)程序?
Docker守護(hù)程序在主機(jī)操作系統(tǒng)上運(yùn)行。它負(fù)責(zé)運(yùn)行容器來(lái)管理碼頭服務(wù)。Docker守護(hù)程序與其他守護(hù)程序通信。它提供各種Docker對(duì)象,如圖像、容器、網(wǎng)絡(luò)和存儲(chǔ)。
Docker架構(gòu)
Docker遵循Client-Server架構(gòu),包括三個(gè)主要組件,即Docker Client、Docker Host和Docker Registry。

1.Docker客戶(hù)端
Docker客戶(hù)端使用命令和REST API與Docker守護(hù)程序(服務(wù)器)通信。當(dāng)客戶(hù)端在docker客戶(hù)端上運(yùn)行任何docker命令時(shí),客戶(hù)端將這些docker命令發(fā)送到docker守護(hù)程序。Docker守護(hù)程序以命令和REST API請(qǐng)求的形式從Docker客戶(hù)端接收這些命令。
注意:Docker Client能夠與多個(gè)Docker守護(hù)程序通信。
Docker Client使用命令行界面(CLI)運(yùn)行以下命令-
docker build
docker pull
docker run
2.Docker主機(jī)
Docker Host用于提供執(zhí)行和運(yùn)行應(yīng)用程序的環(huán)境。它包含docker守護(hù)程序、映像、容器、網(wǎng)絡(luò)和存儲(chǔ)。
3.Docker注冊(cè)表
Docker Registry管理和存儲(chǔ)Docker映像。
Docker中有兩種類(lèi)型的注冊(cè)表-
公共注冊(cè)-公共注冊(cè)也稱(chēng)為Docker中心。
私有注冊(cè)表-用于在企業(yè)內(nèi)共享映像。
Docker對(duì)象
有以下Docker對(duì)象-
1.Docker圖像
Docker映像是用于創(chuàng)建Docker容器的只讀二進(jìn)制模板。它使用私有容器注冊(cè)中心來(lái)共享企業(yè)內(nèi)的容器映像,還使用公共容器注冊(cè)中心在整個(gè)世界內(nèi)共享容器映像。摘要圖像也使用元數(shù)據(jù)來(lái)描述容器的功能。
2.Docker容器
容器是Docker的結(jié)構(gòu)單元,用于保存運(yùn)行應(yīng)用程序所需的整個(gè)包。容器的優(yōu)點(diǎn)是它需要的資源非常少。
換句話說(shuō),我們可以說(shuō)圖像是模板,容器是該模板的副本。

3.Docker網(wǎng)絡(luò)
使用Docker Networking,可以通信隔離的包。Docker包含以下網(wǎng)絡(luò)驅(qū)動(dòng)程序-
紐帶:紐帶是容器的默認(rèn)網(wǎng)絡(luò)驅(qū)動(dòng)程序。當(dāng)多個(gè)docker與同一docker主機(jī)通信時(shí)使用。
主機(jī):當(dāng)我們不需要容器和主機(jī)之間的網(wǎng)絡(luò)隔離時(shí),需要使用它。
NONE:它禁用所有網(wǎng)絡(luò)。
Overlay:Overlay提供Swarm服務(wù)以相互通信。它允許容器在不同的docker主機(jī)上運(yùn)行。
Macvlan:當(dāng)我們想要將MAC地址分配給容器時(shí),使用Macvlan。
4.Docker存儲(chǔ)
Docker Storage用于在容器上存儲(chǔ)數(shù)據(jù)。Docker為存儲(chǔ)提供了以下選項(xiàng)-
數(shù)據(jù)卷:數(shù)據(jù)卷提供了創(chuàng)建持久性存儲(chǔ)的能力。它還允許我們命名卷、列出卷和與卷關(guān)聯(lián)的容器。
目錄裝載:它是docker存儲(chǔ)的最佳選項(xiàng)之一。它將主機(jī)的目錄裝載到容器中。
存儲(chǔ)插件:它提供了連接到外部存儲(chǔ)平臺(tái)的能力。
有關(guān)Docker體系架構(gòu)的更多詳細(xì)信息可以參考中培IT學(xué)院虛擬化容器技術(shù)Docker+K8s培訓(xùn)課程。本套課程從Docker的技術(shù)背景介紹,再到Docker+K8s技術(shù)的高級(jí)應(yīng)用實(shí)戰(zhàn),全方位的介紹了Docker技術(shù)以及虛擬化云平臺(tái)技術(shù)Kubernetes的體系結(jié)構(gòu)、特性以及部署集成等相關(guān)知識(shí)。讓學(xué)員全面系統(tǒng)的掌握Docker+K8s,并且具備部署企業(yè)私有虛擬化云平臺(tái)環(huán)境的能力。
