
自己动手写Docker
作品简介
《自己动手写Docker》在详细分析Docker所依赖的技术栈的基础上,一步一步地通过代码实例,让读者可以自己循序渐进地用Go语言构建出一个容器的引擎。不同于其他Docker原理介绍或代码剖析的书籍,《自己动手写Docker》旨在提供给读者一条动手路线,一步一步地实现Docker的隔离性,构建Docker的镜像、容器的生命周期及Docker的网络等。《自己动手写Docker》涉及的代码都托管在GitHub上,读者可以对照书中的步骤从代码层面学习构建流程,从而精通整个容器技术栈。《自己动手写Docker》也对目前业界容器技术的方向和实现做了简单介绍,以加深读者对容器生态的认识和理解。
《自己动手写Docker》适合对容器技术已经使用过或有一些了解,希望更深层次掌握容器技术原理和至佳实践的读者。
作品目录
内容简介
序
前言
第1章 容器与开发语言
1.1 Docker
1.2 Go
1.3 小结
第2章 基础技术
2.1 Linux Namespace介绍
2.2 Linux Cgroups介绍
2.3 Union File System
2.4 小结
第3章 构造容器
3.1 构造实现run命令版本的容器
3.2 增加容器资源限制
3.3 增加管道及环境变量识别
3.4 小结
第4章 构造镜像
4.1 使用busybox创建容器
4.2 使用AUFS包装busybox
4.3 实现volume数据卷
4.4 实现简单镜像打包
4.5 小结
第5章 构建容器进阶
5.1 实现容器的后台运行
5.2 实现查看运行中容器
5.3 实现查看容器日志
5.4 实现进入容器Namespace
5.5 实现停止容器
5.6 实现删除容器
5.7 实现通过容器制作镜像
5.8 实现容器指定环境变量运行
5.9 小结
第6章 容器网络
6.1 网络虚拟化技术介绍
6.2 构建容器网络模型
6.3 容器地址分配
6.4 创建Bridge网络
6.5 在Bridge网络创建容器
6.6 容器跨主机网络
6.7 小结
第7章 高级实践
7.1 使用mydocker创建一个可访问的nginx容器
7.2 使用mydocker创建一个fl ask+redis的计数器
7.3 runC
7.4 runC创建容器流程
7.5 Docker containerd项目介绍
7.6 Kubernetes CRI容器引擎
7.7 小结