docker各模塊介紹(筆記)

Docker在最開始的時候,可以認爲是一個單體程序,docker客戶端、docker守護進程、鏡像管理等功能都是放在同一個程序中的,整個docker的安裝非常簡單,因爲就一個可執行文件,在一定程度上也帶來的docker的飛速發展。

隨着容器技術的興起,以及周邊軟件如mesos、kubernetes等容器編排平臺的發展,人們迫切需要一個容器的開放標準,以便相關生態能更好更快的發展,於是便有了OCI這麼一個組織,於是就有了docker功能的拆分。

目前的docker有這麼幾個模塊

(1)Docker CLi docker客戶端,也就是用戶操作docker的命令行工具

/usr/bin/docker

該工具與dockerd進行交互,提交用戶的request,接收dockerd的處理結果

 

(2)dockerd 守護進程 /usr/bin/dockerd

接收用戶的請求,並將請求交由containerd進行處理

 

(3)containerd     /usr/bin/docker-containerd

主要是管理容器的生命週期:創建、運行、終止、刪除等;

除此之外,還負責:

鏡像的管理

網絡、存儲相關的管理

containerd通過調用runc(一個符合OCI標準的容器運行時實現,由docker捐贈)來進行容器生命週期的管理;

containerd-shim /usr/bin/docker-containerd-shim

在runc啓動一個容器之後,該容器會被containerd-shim接管,作爲container的父進程存在

比如,在一個啓動了兩個容器的宿主機上

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章