本节书摘来华章计算机《容器技术系列》一书中的第3章 ,第3.2节,孙宏亮 著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.2 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的启动流程图,如图3-2所示。
本书第2章已经描述了Docker中main()函数运行的很多前期工作,Docker Daemon的启动也会涉及这些工作,故在此略去相同部分,主要针对后续仅和Docker Daemon相关的内容进行深入分析,即mainDaemon()的具体源码实现。