Docker源码分析 封面

Docker源码分析

评分 3.3
字数
28.2万字
章节数
20
丛书
容器技术系列
ISBN
9787111510727

标签

内容简介

《Docker源码分析》是孙宏亮撰写的一本面向Docker实现原理的技术专著,2015年由机械工业出版社出版,属“容器技术系列”丛书。作者基于Docker 1.2.0版本源码,通过流程图与代码片段,逐层拆解Docker的架构与关键模块。全书分三大部分。第一部分即第1章,从宏观视角展示Docker总架构图,介绍Docker Client、Docker Daemon、Docker Registry、Graph、Driver、libcontainer、Docker Container 各模块的职责与实现,并以 docker pull 与 docker run 两个运行为例串联整体流程。第二部分为第2至14章,是全书主体:第2至8章梳理Docker软件的骨架,涵盖Client创建与命令执行、Daemon启动与NewDaemon实现、Server创建、Daemon网络与容器网络(bridge、host、other container、none 等模式);第9至11章聚焦镜像技术,讲解镜像下载、镜像存储(graphdriver 存储驱动)与 docker build 的实现;第12至14章分析容器创建的完整过程,包括容器创建、dockerinit 启动以及 libcontainer 的作用。第三部分为第15至17章,介绍Docker生态中被合称“三驾马车”的Swarm、Machine与Compose的架构设计与实现,用以补充Docker在跨主机集群与部署方面的能力。本书定位为“技术普及读物”,力求让使用者和开发者都能透过源码理解容器到底如何运行。

编辑推荐

“会用Docker”和“懂Docker”之间,隔着一层源代码。这本书正适合希望补上这一层的人:它不介绍命令速查,也不演示应用案例,而是把Docker 1.2.0的源码当作地图,按“先看骨架、再看器官、最后看生态”的顺序一路读下去。第一部分的总体架构图是全书地图,建议对照阅读;第2至8章从Client发出一条命令开始,跟到Daemon启动、Server接单、网络建立,把看似复杂的流程串成一条线;第9至14章的镜像与容器部分最能体现Docker“分层”与“隔离”的本质,graphdriver、dockerinit、libcontainer 这些平时只在报错信息里出现的名字,都能在这里找到具体位置;最后三章则将视野从单机引向Swarm、Machine、Compose组成的集群与部署工具链。作者用大量流程图和代码片段替代抽象叙述,章节间耦合度低,可以挑重点读,也适合通读。需要注意的是,书成于2015年,Docker版本迭代极快,源码细节与今天的实现已有差异,读它的价值在于理解设计思路与机制脉络,而非查找现成API。

适合谁读

适合

  • 有Docker日常使用经验、想弄清底层实现原理的后端与运维工程师
  • 正在搭建容器云平台、需要理解镜像与网络机制的架构师
  • 熟悉Go语言,想通过真实项目源码学习工程结构的中高级开发者
  • 计算机专业高年级学生与研究生,用于理解Linux命名空间、Cgroups等虚拟化基础

不适合

  • 完全没接触过Docker命令与概念的零基础读者,宜先读入门书
  • 只想找Docker命令速查、最佳实践或面试题库的读者
  • 需要与当前Docker版本完全对应的API与源码细节的开发者,需另行查阅官方文档

阅读建议

  1. 先精读第1章架构图与两个运行案例(docker pull、docker run),建立全局坐标再进细节。
  2. 按主题分块读:网络(第6~7章)可单独成组;先读第9~11章镜像部分,再读容器部分,会更容易理解分层机制。
  3. 读代码时打开对应版本(Docker 1.2.0)的源码仓库,边看边对照,比只看书中片段收效更大。
  4. 在书上标注与当前版本差异较大的地方,善用官方文档补充,把重点放在设计思想而非具体函数名上。

出版社简介

机械工业出版社 中国 · 成立于 1950 年

机械工业出版社(China Machine Press)在科技与专业出版之外,库内图书还体现出对心理学、计算机、管理、财经与社科等方向的持续关注。心理学方面收入荣格作品及分析心理学导论,并涉及压力与健康、成瘾与疗愈等应用议题;计算机领域有《计算机程序的构造和解释(JavaScript版)》;管理与财经类包括《管理行为(原书第4版)》《不平等的代价(珍藏版)》《这次不一样:八百年金融危机史(纪念版)》;科学哲学与科学史方面则有《世界观(原书第3版)》。相关作者资源涵盖C.G.荣格、威廉·麦圭尔、索努·沙姆达萨尼、加博尔·马泰等。公开资料有限,以上仅据库内图书归纳其出版面貌。

目录

  1. 赞誉
  2. 序
  3. 前言
  4. 第1章 Docker架构
  5. 第2章 Docker Client创建与命令执行
  6. 第3章 启动Docker Daemon
  7. 第4章 Docker Daemon之NewDaemon实现
  8. 第5章 Docker Server的创建
  9. 第6章 Docker Daemon网络
  10. 第7章 Docker容器网络
  11. 第8章 Docker镜像
  12. 第9章 Docker镜像下载
  13. 第10章 Docker镜像存储
  14. 第11章 docker build实现
  15. 第12章 Docker容器创建
  16. 第13章 dockerinit启动
  17. 第14章 libcontainer介绍
  18. 第15章 Swarm架构设计与实现
  19. 第16章 Machine架构设计与实现
  20. 第17章 Compose架构设计与实现

常见问题

这本书讲的是哪个版本的Docker源码?
据公开资料,全书基于Docker 1.2.0版本源码展开解析,成书于2015年。此后Docker架构变动较大(如Swarm模式整合、runc取代部分libcontainer职责等),阅读时应把它当作理解机制的参考,而非当前版本的权威实现文档。
没有读过Docker入门书能直接看这本吗?
不太建议。本书从源码层面切入,默认读者了解镜像、容器、仓库等基本概念并会使用常用命令。若完全没有基础,建议先读一本Docker入门书并动手跑通几个容器,再回来看这本书会顺畅很多。
书里为什么要讲Swarm、Machine和Compose?
当时Docker单机能力已经很强,但跨主机集群与部署能力需要生态工具补齐。作者把这三者称为Docker生态的“三驾马车”,分别对应集群编排、主机管理与多容器应用编排,用三章讲解其架构与实现思路。
这本书只有一百多页,内容会不会太浅?
不同渠道标注的页数不一致(有164页与247页两种说法),但页数少并不代表浅。全书以流程图和代码片段为主、文字精炼,信息密度较高;真正的消化程度取决于是否对照源码动手跟进。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分