易燃物汇聚 YouTube 有声书与书评
Docker源码分析 封面

Docker源码分析

孙宏亮

2723人在读
27.1万字总字数
¥30定价

内容简介

本书是一本引导读者深入了解Docker实现原理的技术普及读物,主要目标是通过对Docker架构和源代码的详细讲解和解剖,帮助读者对Docker的底层实现有一个全面的理解。本书的内容主要集中于三部分:Docker的架构、Docker的模块,以及Docker的三驾马车Swarm、Machine和Compose。第一部分(第1章)主要从宏观的角度和读者一起领略Docker的架构设计,并初步介绍架构中各模块的职责。第二部分(第2~14章)是本书的主体部分,主要针对Docker中多个重要的模块进行具体深入分析,包括DockerClient、DockerDaemon、DockerServer、Docker网络、Docker镜像、Docker容器等。读者可以发现,Docker的模块之间耦合度非常低,很适合循序渐进,层层深入。第2~8章主要从Docker软件的架构入手,勾勒骨架;第9~11章集中于Docker镜像技术,夯实基础;第12~14章则进一步分析Docker容器的始末,阐述本质。第三部分(第15~17章)介绍Docker生态三驾马车—Swarm、Machine和Compose。Docker拥有强大的单机能力,三驾马车可以很好地补充Docker的跨主机能力以及部署能力。读者可以通过这几章感受Docker生态中其他功能强大的软件。

读者书评

★★★★★

作者对行文的架构设计的很妙,类似docker的分层思想,从上至下,抽丝剥茧,像剥洋葱一样。docker这种架构设计是一种艺术。对于Docker网络,完美利用SNAT和DNAT实现容器内网络和宿主机网络,因特网完美打通,借力巨人Linux的namespace和cgroup,完美实现资源隔离和使用限制。对于Docker镜像,采用分层思想,借鉴Linux,先rootfs,再union mount,image,layer,这种设计理念,把分层架构设计思想发挥的淋漓尽致。结合杨保华博士的书《Docker技术入门与实战(第3版)》阅读与实战效果更佳。

★★★★★

2025年读完的第10本书。容器技术本是新瓶装旧酒,Docker 站在 Linux Kernel 的Namespace、Cgroup、UnionFS 巨人的肩膀上,创造性地提出了 Image 镜像的概念,真正做到了产物在开发、测试、生产环境下的一致性,极大的方便了开发者。镜像 Image 被拆解为 Layer,依赖 CopyOnWrite 能力,和共享层,极大的提高了效率。 本书拆解了Docker 的代码骨架,详细介绍Docker 各个模块的功能和实现细节。 一个小时快速翻完,后面需要深入研究时再来翻阅对应的章节即可。

★★★☆☆

主要是代码解释,助于方便看代码,快速检索代码。缺点是原理缺少。

★★★☆☆

还只是讲了代码的骨架, 觉得略浅

★★★☆☆

没涉及核心原理,类似于给代码加了注释解释做了什么但没讲为什么这么做

★★★★★

非常好的一本书,对于go语言之前从没接触过的我来说,看本书的go代码,不可避免的会有看不太懂的地方,但整体来说还是可以理解的,源码级的阐述,更加加深对docker的认知。总之很好的一本书,值得反复阅读[跳跳]

★★★★★

疫情期间在家磕碰完的一本,当时抓到的重点,隔那么久回顾也还是很受用: - 集装箱思想     - 外部不用关心里面装了什么,也不用关心配置,整个运行起来就好了 - 容器虚拟化     - 是 OS 层面的虚拟化,资源仅在进程内隔离     - 资源隔离的实现         - 在 linux 下靠 cgroup 限制资源占额,namespace 隔离全局资源     - 虚拟机是硬件上的虚拟化,资源完全隔离 - 镜像     - 组成         - 运行环境参数(json)         - 文件系统内容     - 文件系统:反复可用、创建容易         - 多层联合挂载         - 除了最顶层可写,其它层都只读         - 最终给到用户的效果是一个合并的效果(修改文件实际上是挎贝多一层,然后在挎贝的这一层去反映文件的变化)     - 父子关系         - 如果有共同的父,会智能识别出来,并以此减小镜像的大小 - 网络模式     - host 模式         - 和宿主机共用一个 Network Namespace,ip 和宿主机一样             - 把宿主机的 host 文件挂到容器里共用一份     - joined-container 模式         - 和另一个容器共用 Network Namespace     - bridge 模式         - 每个容器一个 Network Namespace(ip 和宿主机不一样)并自动配置     - none 模式         - 每个容器一个 Network Namespace 但要手动配置

★★★★★

有一些docker使用经验,看源码分析是个不错的进阶选择,统观容器涉及的知识,在深入就是linux内核,关于namespace隔离资源,cgroup管理进程组权限,iptables网络转发等等。最后还讲了docker管理的方案,swarm、machine、compose。不过工具关键还是要实鉴。终于吃汤面一样看完了,从终点四百多页看到七百多页,不晓得微信阅读怎么个算法。

★★★★☆

很喜欢里面的流程图梳理,果然一图胜万言啊。虽然swarm和compose在集群化部署与管理方面已经被k8s干死了,但是其架构层面的思想还是很有借鉴意义的

★☆☆☆☆

一本解读源码的书,如果要用汉语把代码给复述一遍,大可不必。

书籍信息

作者孙宏亮
出版社机械工业出版社
出版时间2015-08-01
ISBN9787111510727
分类计算机-计算机综合
格式EPUB
完结状态连载中
章节数251