![Docker源码分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/116/703116/b_703116.jpg)
上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所示。
![](https://epubservercos.yuewen.com/B872E1/3590871403656901/epubprivate/OEBPS/Images/3a2-i.jpg?sign=1738907676-7UpbU3WeAqpDWSSzt5vgEf1ba9C904TH-0-3115976b12ba756ff90eed3cc2deadca)
图3-2 DockerDaemon启动流程图
本书第2章已经描述了Docker中main()函数运行的很多前期工作,Docker Daemon的启动也会涉及这些工作,故在此略去相同部分,主要针对后续仅和Docker Daemon相关的内容进行深入分析,即mainDaemon()的具体源码实现。