docker daemon是什么意思

docker daemon的意思為:Docker的守護進程;daemon的主要功能包括鏡像管理、鏡像構建、REST API、身份驗證、安全、核心網絡以及編排。

docker daemon是什么意思

本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

docker daemon是什么意思

Docker Daemon

Daemon是Docker的守護進程,Docker Client通過命令行與Docker Damon通信,完成Docker相關操作。

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

工作機制

Docker Daemon可以認為是通過Docker Server模塊接受Docker Client的請求,并在Engine中處理請求,然后根據請求類型,創建出指定的Job并運行,運行過程的作用有以下幾種可能:向Docker Registry獲取鏡像,通過graphdriver執行容器鏡像的本地化操作,通過networkdriver執行容器網絡環境的配置,通過execdriver執行容器內部運行的執行工作等。

修改Docker Daemon

Docker Daemon有不同的修改方式:命令行修改,修改啟動項,修改配置文件。

  • 其中僅僅只是研究或一次使用Docker Daemon的不同選項時,可以通過命令行的方式,此時Docker Daemon運行在前端,日志直接打印在終端上;

  • 當Docker Daemon的配置很穩定,不常修改時,可以將Docker Daemon的選項放在啟動項中;

  • 當Docker Daemon的配置需要定時修改時,就可以把變化的選項放在配置文件中。

啟動流程

由于Docker Daemon和Docker Client的啟動都是通過可執行文件docker來完成的,因此兩者的啟動流程非常相似。Docker可執行文件運行時,運行代碼通過不同的命令行flag參數,區分兩者,并最終運行兩者各自相應的部分。

啟動Docker Daemon時,一般可以使用以下命令:docker –daemon=true; docker –d; docker –d=true等。接著由docker的main()函數來解析以上命令的相應flag參數,并最終完成Docker Daemon的啟動。

docker daemon是什么意思

通過Docker Daemon的流程圖,可以得出一個這樣的結論:有關Docker Daemon的所有的工作,都被包含在mainDaemon()方法的實現中。

宏觀來講,mainDaemon()完成創建一個daemon進程,并使其正常運行。

從功能的角度來說,mainDaemon()實現了兩部分內容:第一,創建Docker運行環境;第二,服務于Docker Client,接收并處理相應請求。

從實現細節來講,mainDaemon()的實現過程主要包含以下步驟:

1)daemon的配置初始化(這部分在init()函數中實現,即在mainDaemon()運行前就執行,但由于這部分內容和mainDaemon()的運行息息相關,故可認為是mainDaemon()運行的先決條件;

2)命令行flag參數檢查;

3)創建engine對象;

4)設置engine的信號捕獲及處理方法;

5)加載builtins;

6)使用goroutine加載daemon對象并運行;

7)打印Docker版本及驅動信息;

8)Job之”serveapi”的創建與運行。

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享