作品简介

《自己动手写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 小结
展开全部