根据 https://docs.docker.com/registry/spec/api/我可以调用/v2/<name>/tags/list
来获取给定图像的标签列表。它工作正常,例如:
{"name"=>"avi/test", "tags"=>["latest"]}
但是,我想要每个标签的摘要。是的,"摘要"实际上是清单的哈希值(至少我从 API 中最好地理解它;不是 100% 清楚)。但是,我想要一种方法来知道"最新"(以及所有其他标签)的唯一标识符是什么。
用例:我可能有人将某个版本标记为最新版本,并想检查 tit 是否是最新的:
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"、"最新" - 还可以检查摘要(至少是清单),我可以找到各种标签指向的内容,审计等。
AFAIK,没有摘要API。但是,根据 v2 API 规范,您可以对 /v2/<name>/manifests/<reference>
执行HEAD
或GET
请求。响应将包含一个包含指定清单摘要的Docker-Content-Digest
标头(例如 latest
)。