从dockerregistry获取清单列表(胖清单)

在使用dockerregistryAPI时,我试图访问这里描述的清单列表(又名胖清单)。

curl调用的细节是:

curl "https://myserver/v2/<repository>/manifests/<version/" -H "Accept: application/vnd.docker.distribution.manifest.list.v2+json" 

然而,对此的响应是schemaVersion为1. application/vnd.docker.distribution.manifest.v2+json的Accept头似乎得到了清单的正确版本,但似乎没有用于清单键入accept头。

我在URL或头文件中丢失了什么?

你需要使用application/vnd.docker.distribution.manifest.list.v2+json头文件。 但是,不能保证注册pipe理机构为您提供清单列表,因此您必须能够处理普通的图像清单。

从文档 :

当拉取图像时,客户端通过发送application/vnd.docker.distribution.manifest.v2+jsonapplication/vnd.docker.distribution.manifest.list.v2+json媒体types来指示对这个新版本的清单格式的支持向清单端点发出请求时的Accept标头。 更新后的客户端应检查Content-Type头,以查看从端点返回的清单是旧格式,还是新格式的图像清单或清单列表。