易燃物汇聚 YouTube 有声书与书评
自己动手写Docker 封面

自己动手写Docker

陈显鹭

6793人在读
6.9万字总字数
¥32.5定价

内容简介

通过讲解Docker使用到的各种底层技术,例如Namespace、Cgroups等来自己一步步动手完成一个简单版本的Docker。在自己动手的过程中,从而对Docker这个技术有一个整体、细致的了解。能够明白Docker的原理以及结构,从而加深对目前炽手可热的Docker技术的理解,方便解决工作中使用Docker遇到的各种问题。

读者书评

★★★★★

很短的一本书,其中还包含不少的代码,所以大概1小时就能看完了;但是容器涉及的cgroups,namespace,volume和网络等基本内容都包含了,还是比较全面的;对于通过实现一个引擎来学习容器,可以算是一个合格的入门书籍。

★★★★★

这本书可以手把手教你如何构建一个简易容器引擎,将Docker依赖的核心技术拆解为一个个可落地的开发任务。跟着书中步骤实现加深了对Linux内核特性的认知:通过 clone 系统调用创建带namespace的进程,亲手验证了“容器是特殊进程”的本质;用cgroups编写资源限制代码,终于搞懂了 docker run -m 参数背后的内核机制;搭建简易unionfs文件系统后,对镜像的“分层存储”与“写时复制”有了直观认知。 它的价值远不止“学会写Docker”。它更像一本“内核技术实践指南”,通过容器这个具体场景,让我们知其然更知其所以然。

★★★★★

一本小册子简要介绍了实现容器技术的关键技术:NameSpace,CGroups,UnionFS,Linux Virtual Net Device以及Roofs。带领读者实现一个可运行的容器Demo。对于想理解容器底层技术的朋友,是一本不错的参考资料。

★★★★★

虽然是让自己动手写 Docker,但更像是为已经在使用Docker并且想要了解下它的原理的用户准备的,内容不深,不过一些关键点都介绍了。 1. 明白了镜像这个神奇的东西的基本原理,以前知道它是基于文件系统搞的,但本书结合实例给出了更细节的解释。 2. 对于容器,以前知道是基于namespace,cgroup来实现的,但怎么具体怎么用不清楚,网上的资料也不具体,本书倒是给出了具体的实操。 3. 网络这块应该确实比较复杂,概念比较多,不好理解,不过大体的思路是懂了。 4. 最后关于containerd, cri, OCI, runc等概念介绍很不错。 不过这本书写作时间比较早了,Github上面的代码很多年都没更新了,看issue区反应,如果读者是现在看到本书并且想跑起来应该需要解决不少问题。

★★★★☆

了解容器原理的很好入门资料,也是对linux lernel关键概念namespace cgroup的很好实例模板

★★★★★

本书已经有近十年了,现在podman可能是对于个人更合适的oci标准的容器方案。 但本书实际上作为一个容器的实现教学而不是所谓docker的实现教学,在当前依然很有价值。 我对于实现docker没有什么兴趣,对于golang更没有兴趣,但本书依然对我展现了在linux上通过其提供的namespace和cgroups机制实现容器的思路以及与linux的关系,这是较为珍贵的体验。 对于有志于体验容器设计的书友,我的建议是直接拉取该书仓库,用AI跑一遍,对照书的文本进行学习得了。

★★★★★

一本很薄的小册子,花了2天时间翻完,以为会很晦涩毕竟涉及到具体的代码实现 ,但是实际阅读体验很丝滑。 本书可以视作学习完容器网络和容器基础之后的进阶读物,结构循序渐进。缺点在于官方仓库缺乏维护,和正文结构不符,但是并不影响理解。 在golang系统调用,cgroup,容器存储,容器网络的具体编码和设计部分收获颇多,有一种把docker掰碎了看也不过如此的感觉,非常推荐的作品。

★★★★★

不错深入浅出,就是后面代码有点多,看烦了

★★★★★

写的很好。深入容器的具体原理。

★★★☆☆

草草翻过,书虽然简短,但书中没有啥好的比喻,没啥金句,感觉也就没有啥收获

书籍信息

作者陈显鹭
出版社电子工业出版社
出版时间2017-07-01
ISBN9787121317866
分类计算机-计算机综合
格式EPUB
完结状态连载中
章节数46