Docker 架构
- Docker daemon:
- API Server 接收Client的请求
- 分发调度
- execdriver:操作namespace、cgroups、apparmor、SELinux等容器运行所需的系统操作进行的二次封装,libcontainer是它的默认实现
- volumedriver:volume数据卷存储操作的最终执行者,负责volume的增删改查
- graphdriver:所有与容器镜像相关操作的最终执行者
- Image management
- distribution:负责跟registry交互
- registry:registry的验证、镜像查找、镜像验证、管理registry mirror等交互操作
- reference:存储本地所有镜像的repository和tag名,并维护与镜像ID之间的镜像关系
- layer:负责与镜像层和容器层源数据相关的增删改查,并负责跟镜像层的增删改查操作映射到实际存储镜像层文件系统的graphdriver