linux cpu占用率如何看
304
2022-11-03
简述关于runC之运行容器
runC是什么
runC是轻量级容器运行工具,它根据 OCI 标准来创建和运行容器。
runC与docker之间的关系
runC与docker之间有什么关系呢?如下图:
docker由docker client和 dockerd组成,前者为客服端,后者为对容器相关操作的api的最上层封装,docker client通过api调用dockerd;containerd是dockerd和runc之间的一个中间交流组件,通过grpc的方式与dockerd通讯;docker-shim是一个运行容器的真实载体,每启动一个容器都会启动一个新docker-shim进程;最终docker-shim运行runc去运行容器里面的程序。
下面我们用runC来运行一个容器。
下载
改名赋予执行权限并放到bin目录
mv runc.amd64 rc && chmod +x rc && mv rc /usr/local/bin
验证:rc -v
准备一个镜像
docker镜像与runC是兼容的。下载一个docker镜像然后导出镜像文件
#下载镜像docker pull alpine:3.15#创建空目录mkdir -p alpine/rootfs#导出镜像源文件docker export $(docker create alpine:3.15) | tar -C alpine/rootfs -xvf -cd alpine/#生成config.json文件rc spec
config.json配置文件中的:
"root": { "path": "rootfs", "readonly": true },
代表 alpine/rootfs 中的 rootfs
运行容器
#在alpine目录, foo为容器名称rc yun foo
查看运行的容器:
#在另外一个终端rc list
了解runC有助于了解docker底层实现。
以上就是关于今天的全部内容,下期将给大家带来《简述关于containerd设置代理》,敬请期待~
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~