docker 架構(gòu)

我們從下圖可以很直觀的了解到Docker的架構(gòu):



docker 的核心組件包括:

1.Docker Client          #客戶端
2.Docker daemon      #守護(hù)進(jìn)程
3.Docker Image         #鏡像
4.Docker Registry      #倉庫
5.Docker Container   #容器

Docker Client

Docker Client ,也稱 Docker 客戶端。它其實就是 Docker 提供命令行界面 (CLI) 工具,是許多 Docker 用戶與 Docker 進(jìn)行交互的主要方式??蛻舳丝梢詷?gòu)建,運行和停止應(yīng)用程序,還可以遠(yuǎn)程與Docker_Host進(jìn)行交互。最常用的 Docker 客戶端就是 docker 命令,我們可以通過 docker 命令很方便地在 host 上構(gòu)建和運行 docker 容器。

Docker daemon

Docker daemon 是服務(wù)器組件,以 Linux 后臺服務(wù)的方式運行,是 Docker 最核心的后臺進(jìn)程,我們也把它稱為守護(hù)進(jìn)程。它負(fù)責(zé)響應(yīng)來自 Docker Client 的請求,然后將這些請求翻譯成系統(tǒng)調(diào)用完成容器管理操作。該進(jìn)程會在后臺啟動一個 API Server ,負(fù)責(zé)接收由 Docker Client 發(fā)送的請求,接收到的請求將通過Docker daemon 內(nèi)部的一個路由分發(fā)調(diào)度,由具體的函數(shù)來執(zhí)行請求。

Docker 鏡像

Docker 鏡像可以看作是一個特殊的文件系統(tǒng),除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準(zhǔn)備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。我們可將 Docker 鏡像看成只讀模板,通過它可以創(chuàng)建 Docker 容器。
鏡像有多種生成方法:
從無到有開始創(chuàng)建鏡像
下載并使用別人創(chuàng)建好的現(xiàn)成的鏡像
在現(xiàn)有鏡像上創(chuàng)建新的鏡像
我們可以將鏡像的內(nèi)容和創(chuàng)建步驟描述在一個文本文件中,這個文件被稱作 Dockerfile ,通過執(zhí)行 docker build <docker-file> 命令可以構(gòu)建出 Docker 鏡像,在后續(xù)的教程中,我們會用一篇專門討論這個問題。

Docker 容器

Docker 容器就是 Docker 鏡像的運行實例,是真正運行項目程序、消耗系統(tǒng)資源、提供服務(wù)的地方。 Docker Container 提供了系統(tǒng)硬件環(huán)境,我們可以使用 Docker Images 這些制作好的系統(tǒng)盤,再加上我們所編寫好的項目代碼, run 一下就可以提供服務(wù)啦。

docker常用的命令,用一張圖來描述

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容