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