Docker、containerd的小结

containerd囊括了单机运行一个容器时所需要的一切:
为了能够支持多种OCI Runtime,containerd 内部使用containerd-shim,每启动一个容器都会创建一个新的containerd-shim进程,指定容器ID,Bundle目录,运行时的二进制(比如runc)

1、docker
docker本身而言,包括docker client和dockerd,是一个客户端工具,用来把用户的请求发送给docker daemon(dockerd)。
dockerd:dockerd是对容器相关操作的最上层封装,直接面向操作用户。Docker daemon,一般也会被称为docker engine。dockerd启动时会启动containerd 子进程。

2、containerd
containerd是一个工业级别标准的容器运行时,它强调简单性、健壮性和可移植性,几乎囊括了单机运行一个容器运行时所需要的一切:执行、分发、监控、网络、构建、日志等。主要作用是:

1)管理容器的生命周期(从创建容器到销毁容器)
2)拉取/推送容器镜像
3)存储管理(管理镜像及容器数据的存储)
4)调用runC运行容器(与runC等容器运行时交互)
5)管理容器网络接口及网络
dockerd实际真实调用的还是containerd的api接口,containerd是dockerd和runC之间的一个中间交流组件。

3、containerd-shim
containerd-shim是一个真实运行容器的载体,为了能够支持多种OCI Runtime,containerd内部使用containerd-shim,每启动一个容器都会起一个新的containerd-shim的进程。它通常指定三个因素:容器ID、bundle目录(对应某个容器生成的目录,一般位于:/var/run/docker/containerd/containerID)

4、runC
runC是一个轻量级的工具,用来运行容器的,我们可以不用通过docker引擎,直接运行容器。

总的来说,docker镜像和containerd镜像通用,但组织方式和存放目录不同,导致docker与ctr命令不通用,各自管理自己的镜像和容器。此外k8s还有客户端命令crictl,用法与docker基本相同,可crictl -h查看用法。

常用命令
命令    docker    ctr(containerd)    crictl(kubernetes)

查看运行的容器    docker ps    ctr task ls/ctr container ls    crictl ps
查看镜像    docker images    ctr image ls    crictl images
查看容器日志    docker logs    无    crictl logs
查看容器数据信息    docker inspect    ctr container info    crictl inspect
查看容器资源    docker stats    无    crictl stats
启动/关闭已有的容器    docker start/stop    ctr task start/kill    crictl start/stop
运行一个新的容器    docker run    ctr run    无(最小单元为pod)
修改镜像标签    docker tag    ctr image tag    无
创建一个新的容器    docker create    ctr container create    crictl create
导入镜像    docker load    ctr image import    无
导出镜像    docker save    ctr image export    无
删除容器    docker rm    ctr container rm    crictl rm
删除镜像    docker rmi    ctr image rm    crictl rmi
拉取镜像    docker pull    ctr image pull    ctictl pull
推送镜像    docker push    ctr image push    无
在容器内部执行命令    docker exec    无    crictl exec

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络飞鸥

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值