docker的核心組件是什么

docker的核心組件是什么

docker的核心組件如下:

(推薦教程:docker教程

1、? 客戶端:dockerclient

2、? 服務端:dockerserver

3、? Docker鏡像

4、? Registry

5、? Docker 容器

本文會給大家簡單介紹這些組件的作用并簡述他們是如何相互協作的

1、? docker客戶端與服務器

docker client向docker daemon發送請求,docker daemon完成相應的任務,并把結果返還給容器

docker client是一個泛稱,它可以是命令行docker,也可以是遵循了docker api規則的客戶端,簡單地說可以理解為一個用于交互/發送指令的接口

如下圖:

docker的核心組件是什么

2、? docker鏡像

docker鏡像是一個只讀的模板,是啟動一個容器的基礎。其中包括了容器的文件系統結構與內容,它與docker的配置文件共同組成了docker容器的靜態文件系統環境

docker鏡像在設計上有許多特別之處:

1) 分層機制

docker的鏡像機制是有層次感的,一個鏡像可以放到另一個鏡像的頂部。位于下端的為父鏡像,以此類推;最底部的鏡像可稱為基礎鏡像。最后從一個鏡像啟動容器時,docker會在鏡像的最頂層加載一個讀寫的文件系統,我們想在docker上運行的程序就是在這個讀寫層中執行的。

怕你沒看懂,上圖

docker的核心組件是什么

當我啟動容器之后,我們接觸的是最頂層的可寫容器,最頂層的鏡像以處于他下發層的鏡像迭代構建而成。接下來引出docker鏡像的另一個特性,寫時復制:

(2)寫時復制

還是看剛剛那張圖,剛開始運行的時候可寫容器與頂層的鏡像內容是完全一致的;當我對內容進行修改的時候,文件會從下一層的鏡像(只讀層)復制到頂層的可寫容器(讀寫層),只讀層的文件依然存在,但是會被讀寫層的文件所隱藏;在容器中所做的所有操作,都不會影響底層的原有數據,除非你把他打包成一個新的鏡像。

3、? registry

我們從何處去獲得鏡像?如果我們是第一次通過某個鏡像去啟動容器,首先宿主機回去/var/lib/docker目錄下去找,如果沒有找到,則會去registry中去下載鏡像并且存放于虛擬機,然后完成啟動。

registry可以想象為一個鏡像的倉庫,默認的registry是docker官方提供的registry服務,名為Docker Hub。當然,你也可以構建自己的鏡像倉庫。

4、? docker容器

容器就是鏡像的運行實例。

用戶可以通過命令行或是 API 啟動、停止、移動或刪除容器。可以這么認為,對于應用軟件,鏡像是軟件生命周期的構建和打包階段,而容器則是啟動和運行階段。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享