通往 OCIv2 镜像的道路:Tar 有什么问题?

主要观点:当前容器镜像格式存在诸多问题,根源在于tar格式,作者将撰写系列文章阐述对 Open Container Initiative (OCI)图像格式的改进,以提供人们所需的特性。
关键信息

  • 容器镜像有分层和“扁平”两种模型,当前主要是分层容器镜像,其各层多为tar归档文件,还包含一些 JSON 元数据,OCI 图像也基于tar
  • tar格式历史悠久,从 Unix v7 开始,经历了多次扩展和标准变更,存在诸多问题,如格式设计奇怪、扩展混乱、不同实现间存在兼容性问题等。
  • tar在容器镜像中存在诸多实际问题,如机器独立表示受限、缺乏去重、操作不可并行、处理删除文件方式不佳、缺乏可重复性和规范表示、雪崩效应、缺乏透明度等。
    重要细节
  • Unix 历史中tar的起源及演变,包括与其他归档工具的关系、各种扩展和标准的出现。
  • tar在扩展方面存在大量冲突,如 26 个扩展槽被各种厂商用尽,导致兼容性问题;PAX 标准虽有改进但仍存在未明确规定的地方。
  • 在容器镜像中,tar层的去重效果差,更新基础镜像需重新下载全部内容;删除文件会增加镜像大小,且不同实现对删除文件的处理方式不兼容;tar归档文件顺序受文件系统影响,不利于可重复性等。
  • 作者提出的改进思路是基于 OCI 内容可寻址存储创建新格式,类似resticborgbackup,利用 OCI 智能指针定义新的媒体类型,使新格式对 OCI 图像工具透明。
阅读 29
0 条评论