| 组件分类 | 组件名称 | 组件作用 |
|---|---|---|
| Docker相关组件 | docker | Docker客户端,负责发送Docker操作请求 |
| dockerd | Docker服务端,负责接收客户端请求并返回请求结果 | |
| docker-init | 当业务主进程没有进程回收能力时,docker-init可以作为容器内的1号进程,管理容器内子进程 | |
| docker-proxy | 用于Docker的网络实现,通过设置iptables等规则使得访问到主机的流量都能被顺利转发到对应的容器中 | |
| Containerd相关组件 | containerd | 负责容器管理的生命周期,通过接收dockerd的请求,执行启动或销毁容器的操作 |
| containerd-shim | 将containerd和真正的容器进程进行解耦,使用containerd-shim作为容器的父进程,可以实现重启containerd进程却不影响已经启动的容器进程 | |
| ctr | containerd的客户端,可以直接向containerd发送容器操作请求,主要用于开发和调试 | |
| 容器运行时组件 | runc | 通过调用Namespace,cgroups等系统接口,实现容器的创建和销毁 |
docker整体架构图

