gpt4 book ai didi

docker - OCI 镜像 list 和 Docker V2.2 镜像 list 的区别

转载 作者:行者123 更新时间:2023-12-02 19:17:43 26 4
gpt4 key购买 nike

我需要将 OCI 镜像 list 转换为 Docker v2.2 镜像格式,反之亦然。但我找不到两者之间的任何区别,是否有任何实际区别或它们相同?

最佳答案

Docker 镜像 list V 2,模式 2

注册表镜像 list 定义了构成容器注册表上的镜像的组件(请参阅容器注册表部分)。我们将使用的更常见的 list 格式是 Docker Image Manifest V2,Schema 2(更简单地说,V2.2)。还有一种常用的 V2 Schema 1 格式,但由于向后兼容 V1 的原因,它比 V2.2 更复杂。

V2.2 list 格式是具有以下顶级字段的 JSON blob:
schemaVersion - 2在这种情况下
mediaType - application/vnd.docker.distribution.manifest.v2+jsonconfig - 容器配置 blob 的描述符
layers - 层 blob 的描述符列表,与容器配置的 rootfs 的顺序相同

Blob 描述符是包含 3 个字段的 JSON 对象:
mediaType - application/vnd.docker.container.image.v1+json对于容器配置或 application/vnd.docker.image.rootfs.diff.tar.gzip对于一层
size - blob 的大小,以字节为单位
digest - 内容摘要

这是 V2.2 list 格式的示例(用于 Docker Hub busybox 镜像):

{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 1497,
"digest": "sha256:3a093384ac306cbac30b67f1585e12b30ab1a899374dabc3170b9bca246f1444"
},
"layers": [
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 755724,
"digest": "sha256:57c14dd66db0390dbf6da578421c077f6de8e88edd0815b4caa94607ba5f4c09"
}
]
}

OCI 镜像 list

OCI 镜像格式与 Docker V2.2 格式基本相同,但有一些不同。
mediaType - 必须设置为 application/vnd.oci.image.manifest.v1+json config.mediaType - 必须设置为 application/vnd.oci.image.config.v1+json
层中的每个对象必须有 mediaType要么是 application/vnd.oci.image.layer.v1.tar+gzipapplication/vnd.oci.image.layer.v1.tar .

来源: https://containers.gitbook.io/build-containers-the-hard-way/#registry-format-oci-image-manifest

关于docker - OCI 镜像 list 和 Docker V2.2 镜像 list 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62267417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com