首頁技術(shù)文章正文

Docker的具體架構(gòu)介紹【java培訓(xùn)】

更新時(shí)間:2020-05-27 來源:黑馬程序員 瀏覽量:


了解了Docker內(nèi)部引擎及作用后,我們還需要通過Docker的具體架構(gòu),了解Docker的整個(gè)運(yùn)行流程。接下來借助Docker官網(wǎng)的架構(gòu)圖對Docker架構(gòu)進(jìn)行詳細(xì)說明,如下所示:

 

1590561118240_Docker的架構(gòu).jpg

 

從上圖中可以看出,Docker架構(gòu)主要包括Client、DOCKER_HOST和Register三部分,關(guān)于這三部分的具體說明如下。

 

1. Client(客戶端)

Client即Docker客戶端,也就是上一小節(jié)Docker Engine中介紹的docker CLI。開發(fā)者通過這個(gè)客戶端使用Docker的相關(guān)指令與Docker守護(hù)進(jìn)程進(jìn)行交互,從而進(jìn)行Docker鏡像的創(chuàng)建、拉取和運(yùn)行等操作。

 

2.  DOCKER_HOST(Docker主機(jī))

DOCKER_HOST即Docker內(nèi)部引擎運(yùn)行的主機(jī),主要指Docker daemon(Docker守護(hù)進(jìn)程)??梢酝ㄟ^Docker守護(hù)進(jìn)程與客戶端還有Docker的鏡像倉庫Registry進(jìn)行交互,從而管理Images(鏡像)和Containers(容器)等。

 

3.  Registry(注冊中心)

Registry即Docker注冊中心,實(shí)質(zhì)就是Docker鏡像倉庫,默認(rèn)使用的是Docker官方遠(yuǎn)程注冊中心Docker Hub,也可以使用開發(fā)者搭建的本地倉庫。Registry中包含了大量的鏡像,這些鏡像可以是官網(wǎng)基礎(chǔ)鏡像,也可以是其他開發(fā)者上傳的鏡像。

 

我們在實(shí)際使用 Docker 時(shí),除了會(huì)涉及圖中的 3 個(gè)主要部分外,還會(huì)涉及很多Docker Objects(Docker對象),例如Images(鏡像)、Containers(容器)、Networks(網(wǎng)絡(luò))、Volumes (數(shù)據(jù)卷)、Plugins(插件)等。其中常用的兩個(gè)對象Image和Containers的說明如下。

 

·Images(鏡像)

Docker鏡像就是一個(gè)只讀的模板,包含了一些創(chuàng)建Docker容器的操作指令。通常情況下,一個(gè)Docker鏡像是基于另一個(gè)基礎(chǔ)鏡像創(chuàng)建的,并且新創(chuàng)建的鏡像會(huì)額外包含一些功能配置。例如:開發(fā)者可以依賴于一個(gè) Ubuntu 的基礎(chǔ)鏡像創(chuàng)建一個(gè)新鏡像,并可以在新鏡像中安裝Apache等軟件或其他應(yīng)用程序。

 

·Containers(容器)

Docker 容器屬于鏡像的一個(gè)可運(yùn)行實(shí)例(鏡像與容器的關(guān)系其實(shí)與 Java 中的類與對象相似),開發(fā)者可以通過API接口或者CLI命令行接口來創(chuàng)建、運(yùn)行、停止、移動(dòng)、刪除一個(gè)容器,也可以將一個(gè)容器連接到一個(gè)或多個(gè)網(wǎng)絡(luò)中,將數(shù)據(jù)存儲(chǔ)與容器進(jìn)行關(guān)聯(lián)。

1577370495235_學(xué)IT就到黑馬程序員.gif



猜你喜歡
什么是Java語言,java是做什么的?

什么是Docker?有什么特點(diǎn)?

Docker與虛擬機(jī)的區(qū)別

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!