一、概念
docker是開源容器引擎,基于cgroup,namespace,unionFS等技術(shù)實現(xiàn),對應(yīng)用進行封裝的虛擬化技術(shù)
什么是cgroup?
對系統(tǒng)資源限制,創(chuàng)建容器的過程其實就是在創(chuàng)建進程,對資源的分配和維護使用cgroup來管理,包括cpu,內(nèi)存,io等?
什么是namespace?
創(chuàng)建容器時,對容器來說就是一個全新的系統(tǒng),容器內(nèi)的文件系統(tǒng)要和宿主機文件系統(tǒng)隔離,網(wǎng)絡(luò)空間隔離,用戶權(quán)限隔離,這些隔離操作都是有namespace 來管理完成的
什么是unionFS?
聯(lián)合文件系統(tǒng),簡單理解就是多個目錄結(jié)構(gòu)合并成一個,而各個目錄結(jié)構(gòu)本身物理位置并沒有變化。
二、架構(gòu)
1.C/S架構(gòu)
組件:
docker cli: docker客戶端,用來管理docker,向docker發(fā)送指令的工具
docker engine: 拉取推送鏡像,對容器操作相關(guān)的api的最上層封裝,直接面向client
image repository: 注冊中信,存儲鏡像的地方
Containerd: 是一個守護進程,負責(zé)管理shim,向docker engine提供接口,使用UnixSocket通信,協(xié)議是grpc
shim: 負責(zé)管理單個容器,啟動一個容器,就會啟動一個shim進程, containerd管理所有容器
runC: 運行一個容器。是基于OCI標(biāo)準(zhǔn)的一個容器技術(shù)實現(xiàn),是一個可以直接創(chuàng)建和運行容器的工具。runc直接與容器所依賴的cgroups/kernel等進行交互,負責(zé)容器所需環(huán)境
2.工作流程
docker client發(fā)出創(chuàng)建容器指令,docker engine接到指令后去鏡像倉庫拿到鏡像后,通過grpc調(diào)用通知docker-containerd啟動容器,docker-containerd收到通知后啟動shim進程,shim進程啟動后,運行runC子進程,runcC會和cgroup,kernel交互,啟動容器,然后runC銷毀,shim接管容器并監(jiān)控容器, 整個容器創(chuàng)建過程完成
三、鏡像和容器的關(guān)系
鏡像可以理解為一系列封裝好的目錄,容器理解為將這些封裝好的目錄合并掛載,鏡像是靜態(tài)資源,容器是可讀寫的,
四、容器應(yīng)用場景
1.環(huán)境一致性
2.CI/CD
3.微服務(wù)
4.彈性伸縮
5.灰度發(fā)布
五、容器與虛擬機的額區(qū)別
臃腫
的 os, 與其說是對應(yīng)用隔離, 不如說是系統(tǒng)隔離另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:docker架構(gòu)及工作流程-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article4/dghcoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計公司、網(wǎng)站內(nèi)鏈、做網(wǎng)站、網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化
聲明:本網(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)
猜你還喜歡下面的內(nèi)容