暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

什么是容器运行时? | Linux 中国

Linux中国 2021-09-12
333
 
导读:通过深入了解容器运行时,理解容器环境是如何建立的。                                 
本文字数:1796,阅读时长大约:2分钟

https://linux.cn/article-13772-1.html
作者:Nived V
译者:geekpi

在学习  容器镜像🔗 opensource.com 时,我们讨论了容器的基本原理,但现在是深入研究容器运行时(runtime)的时候了,从而了解容器环境是如何构建的。本文的部分信息摘自 开放容器计划(Open Container Initiative)(OCI)的  官方文档🔗 github.com,所以无论使用何种容器引擎,这些信息都是一致的。

容器运行机制

那么,当你运行 podman run
 或 docker run
 命令时,在后台到底发生了什么?一个分步的概述如下:

1. 如果本地没有镜像,则从镜像登记仓库(registry)拉取镜像
2. 镜像被提取到一个写时复制(COW)的文件系统上,所有的容器层相互堆叠以形成一个合并的文件系统
3. 为容器准备一个挂载点
4. 从容器镜像中设置元数据,包括诸如覆盖 CMD
、来自用户输入的 ENTRYPOINT
、设置 SECCOMP 规则等设置,以确保容器按预期运行
5. 提醒内核为该容器分配某种隔离,如进程、网络和文件系统(命名空间(namespace)
6. 提醒内核为改容器分配一些资源限制,如 CPU 或内存限制(控制组(cgroup)
7. 传递一个系统调用(syscall)给内核用于启动容器
8. 设置 SELinux/AppArmor

容器运行时负责上述所有的工作。当我们提及容器运行时,想到的可能是 runc、lxc、containerd、rkt、cri-o 等等。嗯,你没有错。这些都是容器引擎和容器运行时,每一种都是为不同的情况建立的。

容器运行时(Container runtime)更侧重于运行容器,为容器设置命名空间和控制组(cgroup),也被称为底层容器运行时。高层的容器运行时或容器引擎专注于格式、解包、管理和镜像共享。它们还为开发者提供 API。

开放容器计划(OCI)

开放容器计划(Open Container Initiative)(OCI)是一个 Linux 基金会的项目。其目的是设计某些开放标准或围绕如何与容器运行时和容器镜像格式工作的结构。它是由 Docker、rkt、CoreOS 和其他行业领导者于 2015 年 6 月建立的。

它通过两个规范来完成如下任务:

1、镜像规范

该规范的目标是创建可互操作的工具,用于构建、传输和准备运行的容器镜像。

该规范的高层组件包括:

◈  镜像清单🔗 github.com — 一个描述构成容器镜像的元素的文件
◈  镜像索引🔗 github.com — 镜像清单的注释索引
◈  镜像布局🔗 github.com — 一个镜像内容的文件系统布局
◈  文件系统布局🔗 github.com — 一个描述容器文件系统的变更集
◈  镜像配置🔗 github.com — 确定镜像层顺序和配置的文件,以便转换成  运行时捆包🔗 github.com
◈  转换🔗 github.com — 解释应该如何进行转换的文件
◈  描述符🔗 github.com — 一个描述被引用内容的类型、元数据和内容地址的参考资料

2、运行时规范

该规范用于定义容器的配置、执行环境和生命周期。config.json
 文件为所有支持的平台提供了容器配置,并详细定义了用于创建容器的字段。在详细定义执行环境时也描述了为容器的生命周期定义的通用操作,以确保在容器内运行的应用在不同的运行时环境之间有一个一致的环境。

Linux 容器规范使用了各种内核特性,包括命名空间(namespace)控制组(cgroup)权能(capability)、LSM 和文件系统隔离(jail)等来实现该规范。

小结

容器运行时是通过 OCI 规范管理的,以提供一致性和互操作性。许多人在使用容器时不需要了解它们是如何工作的,但当你需要排除故障或优化时,了解容器是一个宝贵的优势。

本文基于  techbeatly🔗 medium.com 的文章,并经授权改编。


via:  https://opensource.com/article/21/9/container-runtimes

作者: Nived V 选题: lujun9972 译者: geekpi 校对: turbokernel

本文由  LCTT 原创编译, Linux中国 荣誉推出


欢迎遵照 CC-BY-NC-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

linux
文章转载自 Linux中国,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

聚圣源推拿店起名公司起名大全三亚不破不立的意思是什么姓柳女孩起名字茶楼名字怎么起凤毛麟角的意思舰宗通讯公司起名字好鱼的记忆药学学报宇 起名孤岛危机3修改器免费模板网站推荐免费测试起名网牛年宝宝起名宜用偏旁今年起什么小名公安网上通缉犯名单舍我其谁演员表爱我多深非主流可爱头像甜品半步沧桑和瑜字搭配女孩起名名字起名建筑装饰公司起名大全免费cad2008激活蔬菜公司起什么名字好起名大师免费取名新超越极限大无畏3d蜜桃成熟淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化