Docker源码分析
上QQ阅读APP看书,第一时间看更新

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所示。

图3-2 DockerDaemon启动流程图

本书第2章已经描述了Docker中main()函数运行的很多前期工作,Docker Daemon的启动也会涉及这些工作,故在此略去相同部分,主要针对后续仅和Docker Daemon相关的内容进行深入分析,即mainDaemon()的具体源码实现。