对容器运行时runc的简单理解
1、容器运行时,传统意义上来说就是代表容器从拉取镜像到启动运行再到中止的整个生命周期
2、OCI标准:
Docker 公司与 CoreOS 和 Google 共同创建了 OCI (Open Container Initial),并提供了两种规范:
- 运行时规范(https://github.com/opencontainers/runtime-spec)
描述如何运行filesystem bundle
- 镜像规范(https://github.com/opencontainers/image-spec)
制定镜像格式、操作等
3、docker和runC的关系
runC是一个根据OCI标准创建并运行容器的命令行工具(CLI tool)。
Docker就是基于runC创建的,简单地说,runC就是docker中最为核心的部分,容器的创建,运行,销毁等等操作最终都将通过调用runc完成。而runC也有自己的客户端,后来被提取出来作为一个单独的工具和库。其实现了 OCI 规范,包含config.json文件和容器的根文件系统。
如何用runC,以最精简的方式创建并运行一个容器:
(https://blog.csdn.net/weixin_30883271/article/details/97419299)。
Docker、Google等公司开源了用于运行容器的工具和库 runc,在此之后,各种运行时工具和库也慢慢出现,例如 rkt、containerd、cri-o 等,然而这些工具所拥有的功能却不尽相同,有的只有运行容器(runc、lxc),而有的除此之外也可以对镜像进行管理(containerd、cri-o)。
low-level runtime
low-level runtime :关注如何与操作系统交互,创建并运行容器,使用 namespace 和 cgroup 实现资源隔离和限制。
目前常见的 low-level runtime有:
- lmctfy -- 是Google的一个项目,它是Borg使用的容器运行时
- runc -- 目前使用最广泛的容器运行时。
- rkt -- CoreOS开发的Docker/runc的一个流行替代方案,提供了其他 low-level runtimes (如runc)所提供的所有特性。
high-level runtime
High-level runtimes相较于low-level runtimes位于堆栈的上层。low-level runtimes负责实际运行容器,而High-level runtimes负责传输和管理容器镜像,解压镜像,并传递给low-level runtimes来运行容器。目前主流的 high-level runtime 有:
- docker
- containerd
- rkt
对容器运行时runc的简单理解相关推荐
- 从零开始入门 K8s | 理解 RuntimeClass 与使用多容器运行时
作者 | 贾之光 阿里巴巴高级开发工程师 本文整理自<CNCF x Alibaba 云原生技术公开课>第 30 讲,点击直达课程页面. 关注"阿里巴巴云原生"公众号, ...
- “迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
戳蓝字"CSDN云计算"关注我们哦! 作者:稻农 来源:阿里系统软件技术 稻农(叶磊) 阿里云智能事业群高级技术专家 参与主导容器运行时及网络创新工作:目前的工作侧重于基于进程虚拟 ...
- 一文搞懂容器运行时 Containerd
在学习 Containerd 之前我们有必要对 Docker 的发展历史做一个简单的回顾,因为这里面牵涉到的组件实战是有点多,有很多我们会经常听到,但是不清楚这些组件到底是干什么用的,比如 libco ...
- ATC‘22顶会论文RunD:高密高并发的轻量级 Serverless 安全容器运行时
编者按:目前的安全容器软件栈 - 包括 host 操作系统中的 cgroup.guest 操作系统和用于函数工作负载的容器 rootfs,都会导致低部署密度和在低并发能力.为此,RunD 作为一种轻量 ...
- kubeadm部署K8S集群并使用containerd做容器运行时
kubeadm部署K8S集群并使用containerd做容器运行时(内容全部实战验证有任何问题欢迎留言咨询讨论) 前言 去年12月份,当Kubernetes社区宣布1.20版本之后会逐步弃用docke ...
- 业界首个机密计算容器运行时—Inclavare Containers正式进入CNCF!
作者|彦荣 2021 年 9月 15 日,Inclavare Containers 通过云原生计算基金会(CNCF)TOC 投票正式成为 CNCF 官方沙箱项目.Inclavare Container ...
- (shell批量版)二进制高可用安装k8s集群v1.23.5版本,搭配containerd容器运行时
目录 第1章 安装前准备 1.1 节点规划 1.2 配置NTP 1.3 bind安装DNS服务 1.4 修改主机DNS 1.5 安装runtime环境及依赖 1.5.1 安装docker运行时 1.5 ...
- EdgeX Foundry第一弹 容器运行时docker与服务编排
本文为Edgex系列第一篇文章,主要探讨容器化相关内容. 一.了解Edgex为什么先学习容器? 1.应用服务调度.Edgex服务众多,包含应用服务.支持服务.设备服务.安全服务.中间件等,使用容器部署 ...
- 云原生生态周报 Vol. 16 | CNCF 归档 rkt,容器运行时“上古”之战老兵凋零
作者列表:木苏,临石,得为,等等 业界要闻 安全漏洞 CVE-2019-9512 CVE-2019-9514 http2 的 DOS 漏洞,一旦攻击成功会耗尽服务器的 cpu/mem,从而导致服务不可 ...
最新文章
- Android技术博文
- Source Insight,修改字体
- pyecharts开篇(python可视化神器)
- MAC OS X10.9.5下成功驱动独立显卡影驰Nvidia GeForce GTX 760大将(4GB)--非公版
- python自动翻译excel某一列_【python excel实例教程】怎样用Python将excel的某一列生成一个列表?...
- 《深入浅出DPDK》读书笔记(十四):DPDK应用篇(DPDK与网络功能虚拟化:NFV、VNF、IVSHMEM、Virtual BRAS“商业案例”)
- 【转】当你伤心时一定要读的50句话
- gephi java教程_gephi生成图(java版)
- 《乔布斯的魔力演讲》书摘
- Docker--docker ps 命令与结果解析
- html5设置视频背景颜色,HTML5设置视频背景的方法介绍
- 基于Html+Css+javascript的体育网站
- Hyperledger Fabric Peer的内部工作原理和实现方法
- 风险准备(金)这样(估)算,来年工作不白干
- pyhon3爬取百度搜索结果
- 反向电压极性保护电路
- 众创空间和共享办公室有什么不同吗
- 如何利用一篇高质量软文文案进行网络推广|媒介启航
- 在线直播源码是如何实现短信验证码登录的
- [线性控制理论]关于Laplace变换中求导运算的结果推导