前言
为什么要写这本书
在计算机技术日新月异的今天,Docker也算是其中异常璀璨的一员了。它的生态圈涉及内核、操作系统、虚拟化、云计算、DevOps等热门领域,受众群体也在不断扩大。
Docker在国内的发展如火如荼,短短一两年时间里就陆续出现了一批关于Docker的创业公司。华为公司作为国内开源领域的领导者,对Docker也有很大的投入,我们认为有必要把自己的知识积累和实践经验总结出来分享给广大开发者。除了吸引更多的人投入到Docker的生态建设以外,我们也希望通过本书帮助更多的读者更好、更快地掌握Docker关键技术。
关于本书
目前市场已经有一些不错的Docker入门图书,但多侧重于入门和具体的应用,本书会介绍一些Docker关键技术原理和高级使用技巧,适合有一定基础的读者。另外,本书会对Docker涉及的各个模块、关系和原理进行系统梳理,帮助读者对Docker加深认识,更好地应用Docker部署生产环境,最大程度安全有效地发挥Docker的价值。
本书不仅适合一般的Docker用户,也适合Docker生态圈中的开发者,希望它可以成为一本Docker进阶的图书,帮助读者快速提升。
本书是由华为整个Docker团队合作完成的,笔者包括(排名不分先后):邓广兴、胡科平、胡欣蔚、黄强、雷继棠、李泽帆、凌发科、刘华、孙远、谢可杨、杨书奎、张伟、张文涛、邹钰。
本书的内容
本书的定位是有一定Docker基础的读者,所以在基本的概念和使用上,我们不会花过多的篇幅讲解,而是给出相应有价值的链接,作为读者的延伸阅读。
在内容上,除了对Docker进行系统的梳理外,同时还会对Docker背后的核心技术(即容器技术)及其历史进行介绍,进一步帮助读者更好地理解Docker。
章节划分则以功能模块为粒度,对每一个重要的模块进行了深入分析和讲解,同时也为热门领域单独开辟了章节。在每一章的最后都会讲解一些高级用法、使用技巧或实际应用中遇到的问题。虽然各章节的内容相对独立,但也会有一些穿插的介绍和补充,以帮助读者融会贯通,系统深入地理解Docker的每一个细节。
另外,本书的笔者都是一线的开发者和Docker社区活跃的贡献者,因此书中还专门准备了一个章节来介绍参与Docker开发的流程和经验。同时,伴随Docker的发展,Docker生态圈也在不断扩大并吸引了越来越多的人的关注。Docker集群管理和生态圈的介绍也将作为本书重点章节详细讲解。此外,Docker测试也是比较有特色的内容,分享了笔者在测试方面的经验。最后,附录中所包含的常用的Docker相关信息,可供读者需要时查询。
本书的内容和代码都是基于Docker 1.8版本的。在代码示例中,使用“#”开头的命令表示以root用户执行,以“$”开头的命令表示以普通用户执行。
勘误和支持
由于笔者水平有限,编写的时间也很仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可以把书中发现的问题或建议发送到邮箱docker@huawei.com,我们会尽快回复大家的疑问,并把收集的信息整理修正。
致谢
本书是由整个Docker团队协作完成的,由于繁忙的工作书稿撰写几度中止。感谢我们的项目经理裴斐月女士,正是她的整体协调和督促,以及与出版社的大量沟通,才促成了本书的出版。感谢李泽帆,他不仅参与了本书的写作,而且承担了全书的审读工作,给出了大量有价值的建议。还要感谢Stephen Li、陈佳波、杨开封、胡欣蔚和张殿芳,以及其他华为公司主管对我们写书的大力支持,感谢机械工业出版社的编辑耐心专业的指导和审核。最后,感谢我们每一位家人的支持陪伴,我们的工作因为有了家人的支持和期待才变得更有意义。
华为Docker实践小组
2015年11月