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