Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


深入浅出Docker(三):Docker开源之路

2014-12-28 10:24    评论: 1 收藏: 3 分享: 8    

3. 源代码管理

Docker的源码是按照模块划分的,每一个模块都会单独放在一个目录里。并且每个目录都会包含一个MAINTAINERS.md。当你提交一个Pull Request的时候,子模块的维护者就会站出来回答“LGTM (Looks Good To Me)” 表示已经看了你的代码并接受你提交的代码。

每一个想参与Docker开发的开发者,你需要进入一个特殊的目录hack,这个目录包括了所有你想知道的开发相关信息。它把开发者分为4类人,

  1. 代码贡献者,详细指南看CONTRIBUTORS.md。
  2. 代码维护者,详细指南看MAINTAINERS.md。
  3. 程序打包者,详细指南看PACKAGERS.md。
  4. 负责发布版本的维护者,详细指南看RELEASE-CHECKLIST.md。

所有的指南文档都非常详细完整,可以做到看完此文档就可以开始相应角色的任务。除了这些文档之外,hack目录还包括了发布,开发,测试等环节需要的辅助脚本,让开发者可以得到很多开发上的便利。

Docker从一开始就是围绕LXC开发的,但在版本稳定后,使用Go重写了一套类LXC接口实现。也就是 libcontainer 项目。它的代码管理方式与上面的Docker源代码管理方式一样,开发者可以很容易的导入到子项目libcontainer的开发。一致的管理方法可以提高流程的复用,这种管理方式希望能得到大家的借鉴参考。

4. 创建合作伙伴生态圈

首先,Docker从一开始使用Ubuntu版本作为开发环境,主要是Ubuntu上支持aufs(advanced multi layered unification filesystem)文件系统。所以,Docker对Ubuntu的支持是最好的。

还有就是大家非常熟悉的Google的GCE,在没有Docker之前,就已经使用自己开发的类LXC容器。在有了Docker之后, Google开发了kubernetes来管理Docker。

商业版本Linux的领导者RedHat,也是Docker生态圈非常重要的合作伙伴。并且它支持的Fedora社区、CentOS社区会对推广Docker技术起到关键性作用。

还有就是OpenStack的建立者Rackspace,在混合云解决方案上具有全球领导地位。Docker与它的合作,可以帮助Docker技术在混合云的解决方案中得到推广。

最后就是开源PaaS项目DEIS,基于Docker和CoreOS技术构建的类如Heroku发布流程的PaaS应用。与它的合作,可以让更多的企业看到一个使用Docker技术的范本。

5. 结论

Docker的开源之路可以说是开源项目的最佳实践,它从屌丝瞬间变为高富帅的历程并不是偶然。Docker的开源之路还在进行中,从它的模式中我们可以学习到的东西并不仅仅局限于以上罗列的几点,读者可以在参与开源项目的过程中多体会,找到自己的“痛点”,然后参考Docker等开源项目的做法,相信可以很快解决你的问题。

12
查看其它分页:

发表评论


返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。