最初的docker是一坨,多个模块在一个系统里面,并且不够开放,不方便对接多个容器运行时。
后期docker将多个模块进行剥离,其中containerd用来管理容器生命周期,并通过shimv2对接多个符合oci(open container initial)规范的容器运行时,真正的容器启停等管理由具体的容器运行时完成,当使用docker时,就通过runCshim对应runc,当使用kata时,就用相应的katashim。
containerd通过cri(container runtime interface)对接k8s编排系统,因为无论什么容器对于k8s来说都是作为运行时存在的。
网友评论