您现在的位置是:主页 > 数据库技术 > 数据库技术

CoreOS Rkt容器镜像怎么制作

IDCBT2021-12-28服务器技术人已围观

简介这篇文章主要介绍“CoreOS Rkt容器镜像怎么制作”,在日常操作中,相信很多人在CoreOS Rkt容器镜像怎么制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大

这篇文章主要介绍“CoreOS Rkt容器镜像怎么制作”,在日常操作中,相信很多人在CoreOS Rkt容器镜像怎么制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CoreOS Rkt容器镜像怎么制作”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

AppC规范究竟约定了什么

使用了开源软件的人,未必都会有心情仔细阅读各种开源协议的内容。大多数的使用容器产品用户,也不见得要对容器规范的内容有很高的兴致。

不过,为了更好的理解后面将要介绍到的相关工具,还是不妨稍微深入的了解一些AppC规范约定的内容。其内容归纳起来主要有四个方面,下面依次罗列出来,并与当下的主流容器Docker做一个简要的对比。

PS:严格来说,AppC与AppC Spec两个词是有区别的。前者指的是CoreOS的App Container这个项目,包括规范和相关的工具,而后者特指AppC中约定的容器规范。但在许多地方,特别是翻译的文章中,经常看到这两个词被混用,因此一般也不必太讲究了。

1.容器的镜像格式

本质上说,容器镜像就是符合特定目录结构的文件压缩包。镜像中的内容在容器启动后被展开,然后复制到一个独立的namespace空间内,并通过cgroup限制容器能够使用的系统资源。稍后在制作镜像时,会详细介绍AppC Spec规定的镜像目录结构。这里只先指出一点,AppC的镜像没有支持像Docker那样的分层结构,这种设计简化了容器运行时的一些操作,但带来的弊端也是很明显的:无法复用镜像相同的部分。因此在磁盘空间的利用上造成了浪费,也增加了容器镜像在网络传输成本。

除了目录的结构,镜像还需要一个描述镜像内容的文件,称为“镜像属性清单文件(Image Manifest)”,其中定义的内容包括:镜像的作者信息、容器暴露的端口、暴露的挂载点、所需的系统资源(CPU/内存)等。此外,AppC Spec的约定的属性清单中,还会包含许多编排调度所需的信息,例如容器运行所依赖的其他容器、容器的标签。

在这方面来说,AppC镜像的信息量远远多于Docker镜像。相当于囊括了Docker镜像本身、Compose编排配置以及一部分Docker运行参数的内容。

此外,AppC规范也约定的镜像ID和签名的生成方法,关于镜像ID和签名的作用和在Rkt文章上篇中已经介绍过,稍后还会详细介绍镜像签名的生成方法。

2.镜像的分发协议

分发协议主要是约定镜像下载使用的协议类型和URL的样式。AppC的镜像URL采用类似Docker的domain.com/image-name这样的格式,但其实际处理方式有些不同。此外,在没有指定域名时,Docker会默认在官方的DockerHub寻找镜像,AppC的镜像没有所谓“官方源”,因此也没有这样的规则。

标签:

很赞哦! ()

本栏推荐