谈谈docker,containerd,runc,docker-shim之间的关系
2018-01-08 12:15
429 查看
谈谈docker,containerd,runc,docker-shim之间的关系
关于containerd
关于containerd的一些详解介绍,请参考containerd的官网:(https://containerd.io/)关于docker
docker本身而言包括了,docker client和dockerd(docker daemon),dockerd本身实属是对容器相关操作的api的最上层封装,直接面向操作用户。
关于docker1.12.x
该版本的docker由 docker-client ,dockerd,containerd,docker-shim,runc组成,现在来谈谈每个组件是用来干嘛的:dockerd
dockerd本身实属是对容器相关操作的api的最上层封装,直接面向操作用户。containerd
dockerd实际真实调用的还是containerd的api接口(rpc方式实现),containerd是dockerd和runc之间的一个中间交流组件。docker-shim
docker-shim是一个真实运行的容器的真实垫片载体,每启动一个容器都会起一个新的docker-shim的一个进程,他直接通过指定的三个参数:容器id,boundle目录(containerd的对应某个容器生成的目录,一般位于:/var/run/docker/libcontainerd/containerID),
运行是二进制(默认为runc)来调用runc的api创建一个容器(比如创建容器:最后拼装的命令如下:runc create 。。。。。)
runc
runc是一个命令行工具端,他根据oci(开放容器组织)的标准来创建和运行容器。他们之间的关系如下图:
相关文章推荐
- 谈谈docker,containerd,runc,docker-shim之间的关系
- docker host OS 和 the container base image OS 之间的关系
- 谈谈UML中类图之间的关系
- 谈谈程序设计语言、编译器和开发环境之间的关系
- 谈谈类之间的关联关系与依赖关系
- 谈谈类之间的关联关系与依赖关系
- Docker、Containerd、RunC...:你应该知道的所有
- 谈谈程序设计语言、编译器和开发环境之间的关系
- 说一说windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)
- 简单谈谈Java类与类之间的关系
- 谈谈View类、ViewGroup类他们之间的关系
- Docker、Containerd、RunC...:你应该知道的所有
- Docker直接在runC和Containerd上构建引擎
- 谈谈程序设计语言、编译器和开发环境之间的关系
- 谈谈程序设计语言、编译器和开发环境之间的关系
- 谈谈类之间的关联关系与依赖关系
- 谈谈类之间的关联关系与依赖关系
- 谈谈Activiti中流程对象之间的关系
- windows原生docker及windows Server Container , Hyper Container 之间的关系(学习总结)
- 谈谈类之间的关联关系与依赖关系(转载)