网站首页 > 开源技术 正文
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来运行一个容器。
下载
https://github.com/opencontainers/runc
把下载好的runc.amd64 改名赋予执行权限并放到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设置代理》,敬请期待~
猜你喜欢
- 2024-10-27 什么是容器运行时?(什么是 容器)
- 2024-10-27 家庭版windows不能安装DockerDesktop的取代方案
- 2024-10-27 震惊!八岁儿子竟知道容器测评十个小知识?老爸,他开天眼了?
- 2024-10-27 红帽RHEL8和RHEL7有什么区别?(红帽8和红帽7区别大不大)
- 2024-10-27 Docker基础简介(docker通俗易懂)
- 2024-10-27 Linux命令笔记-01(linux命令教程)
- 2024-10-27 runc_page allocation failure排查
- 2024-10-27 Nvidia GPU如何在Kubernetes 里工作
- 2024-10-27 容器运行时分类(容器的运行实例)
- 2024-10-27 重学容器02: 部署容器运行时Containerd
你 发表评论:
欢迎- 09-12爬虫中的那些反爬虫措施以及解决方法
- 09-12如何防止Android应用代码被窃_android防止hook
- 09-12这些小工具让你的Android 开发更高效
- 09-12手机Python编程神器——AidLearning
- 09-12app开发领域中说的套壳产品指的是什么
- 09-12Android中的run-as命令带来的安全问题
- 09-12使用Android的adb命令停止APP后台进程的方法
- 09-12全面揭秘:如何破解加密参数及其验证方法
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)