首頁  >  文章  >  運維  >  docker daemon是什麼意思

docker daemon是什麼意思

青灯夜游
青灯夜游原創
2021-11-29 16:42:4811754瀏覽

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影片教學

以上是docker daemon是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn