组件分类 组件名称 组件作用
    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整体架构图

    Docker组件及作用 - 图1