谈谈docker,containerd,runc,docker-shim之间的关系

谈谈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(开放容器组织)的标准来创建和运行容器。

他们之间的关系如下图:

这里写图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论 2

打赏作者

just-go

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值