根据https://docs.docker.com/registry/spec/api/,我可以致电/v2/<name>/tags/list
获取给定图片的代码列表。它工作正常,例如:
{"name"=>"avi/test", "tags"=>["latest"]}
但是,我想要每个标签的摘要。是的,“摘要”实际上是清单的哈希值(至少我最好从API中理解它;不是100%清楚)。但是,我想知道“最新”(以及其他每个标签)的唯一标识符是什么。
使用案例:我可能会有人将版本标记为最新版本,并希望检查该版本是最新的:
docker push avi/test:2.6
docker tag avi/test:2.6 avi/test:latest
docker push avi/test:latest
# build 2.7
docker push avi/test:2.7
# oops! Forgot to tag latest to 2.7
在上述情况下,如果我不仅可以检查标签 - 这将给我“2.6”,“2.7”,“最新” - 还有摘要(至少是清单),我可以找到各种各样的标签指向,审核等
答案 0 :(得分:11)
AFAIK,没有摘要API。但是,根据v2 API spec,您可以针对HEAD
执行GET
或/v2/<name>/manifests/<reference>
请求。响应将包含Docker-Content-Digest
标头,其中包含指定清单的摘要(例如latest
)。