容器基础概念
什么是容器
- 资源视图隔离 - namespace
- 控制资源使用率 - cgroup
- 独立的文件系统 - chroot
容器是一个视图隔离、资源可限制、独立文件系统的进程集合。
什么是镜像
运行容器所需要的所有文件集合 - 容器镜像
Dockerfile - 描述镜像构建步骤
构建步骤所产生出文件系统的变化 - changeset
容器的生命周期
单进程模型
- init进程生命周期 - 容器生命周期
- 运行期间可运行exec执行运维操作
数据持久化
- 独立于容器的生命周期
- 数据卷 - docker volume vs bind
容器项目架构
moby 容器引擎架构
- containerd
- 容器运行时管理引擎,独立于moby daemon
- containerd-shim 管理容器生命周期 可以被containerd动态接管
- 容器运行时
- 容器虚拟化技术方案
- runC kata gVisor