第二章 九析帶你完爆 Docker 架構

本系列文章:docker


第一章:九析帶你完爆 Docker 安裝後端

第二章:九析帶你完爆 Docker 架構服務器

目錄架構

1 Docker 架構ide

2 Docker 組件工具

3 Docker 進程spa

    3.1 客戶端進程操作系統

    3.2 服務端進程3d

    3.3 registry 進程rest


1 Docker 架構圖

截圖.png

        我認爲一個好的架構圖要作好三件事,第一:要展現出全部重要組件;第二:要清晰定義這些組件的主次、層次、範圍和通訊等關係。第三:要足夠簡單,可讓人一目瞭然。我認爲上面的架構圖已經所有都作到了。

        docker 由客戶端(client)、服務端( Docker daemon,簡稱 dockerd )和註冊服務器(Registry)三個組件組成,是典型的c/s架構。其中服務端組件的操做對象爲:鏡像(image)和容器(container)。docker 各個組件能夠在同一臺主機,也能夠在不一樣的主機。所以,Docker 已經不能再被簡單當作工具,而應該被當作一個平臺。


2 Docker 組件

        docker 三大組件都各司其職,這裏能夠用一個生產加工型的企業作類比。

        1) docker client:   管理部門。負責向 docker daemon 安排工做。

        2)docker registry:倉儲部門。負責存儲生產原料(image)。

        3)docker daemon:生產部門。和倉儲部門溝通,獲取生產原料;和管理部門溝通,接受任務,生產商品(container)。


3 Docker 進程

        Docker 默認狀況下不安裝 registry。client 和 daemon 程序包路徑以下:

        1)  client:  /usr/bin/docker

        2) daemon: /usr/bin/dockerd

截圖 (5).png

3.1 客戶端進程

        客戶端進程生命週期很短,從發送命令給 daemon,再到 daemon 響應返回、打印到控制檯,每每幾秒鐘就結束了。下圖是客戶端進程的一個快照。

截圖 (6).png

3.2  服務端進程

        能夠直接使用以下命令來啓動服務端進程。

ff.png

        可是通常狀況下,docker 安裝程序會將服務端封裝成一個操做系統後臺服務,而後交給系統控制器 (systemctl) 來統一進行管理。這樣作的好處是之後能夠只經過名稱(docker)而不是路徑(/usr/bin/dockerd) 來管理後端服務了。

sudo systemctl enable docker

sudo systemctl start docker

sudo systemctl stop docker

sudo systemctl restart docker

sudo systemctl status docker

        後臺服務配置文件路徑 /usr/lib/systemd/system/docker.service。截圖以下:

截圖 (2).png

        從截圖能夠看出系統服務運行時會依賴哪些其餘服務(Unit單元)、真正調用的後臺程序是(/usr/bin/dockerd)、資源限制(Limit)、重啓策略(Restart)等。

        執行以下命令啓動服務端進程。

sudo systemctl start docker

ps aux | grep dockerd | grep -v grep

截圖 (3).png3.3 registry 進程

        這裏首先要區分兩個概念:registry 和 repo。repo 僅僅表示存儲概念,而 registry 是 repo + 認證(鑑權、受權)。也就是說倉庫並非誰訪問均可以,它還須要有一個認證和准入的操做。

        此外,registry 還有公共和私有之分。docker 默認使用的就是公共 registry(hub.docker.com)。所以你在本地是沒法看到 registry 的進程。若是你想在本地也看到 registry 的進程,你須要下載 registry 鏡像,並將鏡像加載在容器中運行才行。

sudo mkdir /opt/data/registry -p

sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry:2

截圖 (4).png

相關文章
相關標籤/搜索