docker源码学习1:main入口函数(1)
最近参与docker相关项目,用的docker版本是v1.12.6,正好想学习docker源码,市面上关于docker源码分析的书暂时只有《Docker 源码分析》这一本(后面简称《分析》)。不过正文p2就来了句“本书关于Docker的分析均基于Docker 1.2.0版本的源码”,docker源码现在变化频率非常大,1.12.6的代码肯定已经大不一样了。通常像我一样的菜鸟码农学习源码第一件事..
最近参与docker相关项目,用的docker版本是v1.12.6,正好想学习docker源码,市面上关于docker源码分析的书暂时只有《Docker 源码分析》这一本(后面简称《分析》)。不过正文p2就来了句“本书关于Docker的分析均基于Docker 1.2.0版本的源码”,docker源码现在变化频率非常大,1.12.6的代码肯定已经大不一样了。
通常像我一样的菜鸟码农学习源码第一件事是找入口函数位置,《分析》p17说“位于docker/docker/docker.go。这个go文件包含了整个Docker的main函数,也就是整个Docker(不论Docker Daemon还是Docker Client)的运行入口”,不出所料,在1.12.6版本代码里根本就没有docker/docker/docker.go这样的文件。
find -name查找docker.go,结合find *|xargs grep main,注意到以下两个文件。
不用想了,上面的是客户端的入口,下面是服务端,都有main入口函数。编译安装完成后对应两个命令docker和dockerd。
看起来server和client的main函数区别已经比较大了啊。
关于main先记录这么多,后续持续补充。
更多推荐
所有评论(0)