自己动手写Docker

陈显鹭 王炳燊 秦妤嘉
内容简介 本书在详细分析Docker所依赖的技术栈的基础上,一步一步地通过代码实例,让读者可以自己循序渐进地用Go语言构建出一个容器的引擎。不同于其他Docker原理介绍或代码剖析的书籍,本书旨在提供给读者一条动手路线,一步一步地实现Docker的隔离性,构建Docker的镜像、容器的生命周期及Docker的网络等。本书涉及的代码都托管在GitHub上,读者可以对照书中的步骤从代码层面学习构建流程,从而精通整个容器技术栈。本书也对目前业界容器技术的方向和实现做了简单介绍,以加深读者对容器生态的认识和理解。 本书适合对容器技术已经使用过或有一些了解,希望更深层次掌握容器技术原理和最佳实践的读者。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。 序 我是阿里云容器服务团队的架构师易立,很荣幸为这本书作序。 当显鹭等几位同学跟我谈起他们想写一本介绍如何从头打造一个Docker引擎的书时,我有些担心这样的内容是不是太小众,毕竟绝大多数读者都是Docker的使用者而非开发者。然而读完样章,看到这三位同学笔下翔实的内容,文中透出的热情和自信打消了我的顾虑。 Docker是技术圈中的当红小鲜肉。自从2013年横空出世以来,迅速在开发者社区流行开来。在2016年9月,Docker镜像在Docker Hub的总下载量就已经超过了60亿次,并且以每6周10亿次的速度迅速增长。 大家都知道Docker技术脱胎于Linux Container(LXC)技术,在LXC的发展过程中,IBM、Google、Red Hat、Canonical等技术巨擘做出了众多的贡献。然而,Docker到底有什么魔力,能够在这么短的时间之内就风靡了整个技术圈呢? Docker公司的创始人兼CTO—Solomon Hykes,有机地把一系列技术Cgroups、Namespace和UnionFS整合起来,极大地…