简述关于runC之运行容器

网友投稿 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小时内删除侵权内容。

上一篇:脑机接口照进现实:5位脑科学家带来的最新启示
下一篇:私有云、混合云和多云有什么区别?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~