我們從下圖可以很直觀的了解到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常用的命令,用一張圖來描述
