docker daemon是什么意思
时间:2021-11-29 16:44
docker daemon的意思为:Docker的守护进程;daemon的主要功能包括镜像管理、镜像构建、REST API、身份验证、安全、核心网络以及编排。 本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。 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的所有的工作,都被包含在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是什么意思的详细内容,更多请关注gxlcms其它相关文章!