日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談Docker引擎

Docker 引擎是用來運行和管理容器的核心軟件。通常人們會簡單地將其代指為 Docker 或 Docker 平臺。

公司主營業(yè)務:網(wǎng)站設計、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出茅箭免費做網(wǎng)站回饋大家。

docker 引擎

基于開放容器計劃(OCI)相關標準的要求,Docker引擎采用了模塊化的設計原則,其組件是可替換的。

Docker 引擎由如下主要的組件構成: Docker 客戶端( Docker Client )、Docker 守護進程( Docker daemon )、containerd 以及runc。它們共同負責容器的創(chuàng)建和運行。

runc

runc實質(zhì)上是一個輕量級的、針對Libcontainer進行了包裝的命令行交互工具( Libcontainer取代了早期Docker架構中的LXC )。

runc生來只有一個作用一創(chuàng)建容器,速度很快!不過它是一個CLI 包裝器,實質(zhì)上就是一個獨立的容器運行時工具。因此直接下載它或基于源碼編譯二進制文件,即可擁有一個全功能的runc。 但它只是一個基礎工具,并不提供類似Docker引擎所擁有的豐富功能。 有時也將runc所在的那一層稱為“OCI 層”

containerd

在對Docker daemon的功能進行拆解后,所有的容器執(zhí)行邏輯被重構到一個新的名為containerd (發(fā)音為container-dee) 的工具中。它的主要任務是容器的生命周期管理———— start | stop | pause | rm….

containerd在Linux和Windows中以daemon的方式運行

Docker引擎技術棧中,containerd位于daemon和runc所在的OCI層之間

隨著時間的推移,它被賦予了更多的功能,如鏡像管理

常用的啟動容器的方法就是使用Docker命令行工具。下面的docker container run命令會基于alpine:latest鏡像啟動一個新容器。

$ docker container run --name ctrl -it alpine:latest sh

當使用Docker命令行工具執(zhí)行如上命令時,Docker客戶端會將其轉換為合適的API格式,并發(fā)送到正確的API端點。

API是在daemon中實現(xiàn)的。這套功能豐富、基于版本的REST API已經(jīng)成為Docker的標志。

一旦daemon接收到創(chuàng)建新容器的命令,它就會向containerd發(fā)出調(diào)用。daemon已經(jīng)不再包含任何創(chuàng)建容器的代碼了!

daemon使用一種CRUD風格的API,通過gRPC與containerd進行通信。雖然名叫containerd, 但是它并不負責創(chuàng)建容器,而是指揮runc去做。

containerd將Docker鏡像轉換為OCI bundle,并讓runc基于此創(chuàng)建一個新的容器。

然后,runc與操作系統(tǒng)內(nèi)核接口進行通信,基于所有必要的工具( Namespace、CGroup 等)來創(chuàng)建容器。容器進程作為runc的子進程啟動,啟動完畢后,runc 將會退出。

將所有的用于啟動、管理容器的邏輯和代碼從daemon中移除,意味著容器運行時與Docker daemon是解耦的,有時稱之為“無守護進程的容器(daemonless container)”,如此,對Docker daemon的維護和升級工作不會影響到運行中的容器。

shim

shim是實現(xiàn)無daemon的容器(用于將運行中的容器與daemon解耦,以便進行daemon升級等操作)不可或缺的工具。

containerd 指揮runc來創(chuàng)建新容器。事實上,每次創(chuàng)建容器時它都會fork一個新的runc實例。不過,一旦容器創(chuàng)建完畢,對應的runc進程就會退出。因此,即使運行上百個容器,也無須保持上百個運行中的runc實例。

一旦容器進程的父進程runc退出,相關聯(lián)的containerd-shim 進程就會成為容器的父進程。

作為容器的父進程,shim 的部分職責如下。

  • 保持所有STDIN和STDOUT流是開啟狀態(tài),從而當daemon重啟的時候,容器不會因為管道( pipe)的關閉而終止。
  • 將容器的退出狀態(tài)反饋給daemon。

daemon的作用

daemon的主要功能包括鏡像管理、鏡像構建、REST API、身份驗證、安全、核心網(wǎng)絡以及編排。


文章題目:淺談Docker引擎
文章網(wǎng)址:http://m.5511xx.com/article/dhpidhp.html