跟随 xianlubird 书和代码,一步步实现一个容器引擎,以加深对容器技术的了解。
- 一个真实的 Linux 系统作为开发和运行环境,如:ubuntu。代码使用的一些系统调用基于 Linux 内核
- Go 开发环境
- 对 Docker 有使用经验并了解一些原理,这样在开发时会可以加强对比(非必须)
- 构造容器
- 构造实现 run 命令版本的容器
tag: p3.1
- 增加容器资源限制
tag: p3.2
- 增加管道及环境变量识别
tag: p3.3
- 构造实现 run 命令版本的容器
- 构造镜像
- 使用 busybox 创建容器
tag: p4.1
- 使用 AUFS 包装 busybox
tag: p4.2
- 实现 volume 数据卷
tag: p4.3
- 实现简单镜像打包
tag: p4.4
- 使用 busybox 创建容器
- 构造容器进阶
- 实现容器的后台运行
tag: p5.1
- 实现查看运行中容器
tag: p5.2
- 实现查看容器日志
tag: p5.3
- 实现进入容器Namespace
tag: p5.4
- 实现停止容器
tag: p5.5
- 实现删除容器
tag: p5.6
- 实现通过容器制作镜像
tag: p5.7
- 实现容器指定环境变量运行
tag: p5.8
- 实现容器的后台运行