我的最终目标是能够在从 Docker 集线器拉取容器之前和之后读取容器的哈希值,以验证从 dockerhub 下载的图像是否与我现在计算机上的图像相同。我知道在这种情况下,远程和本地文件的冗余验证对我来说很重要。
下载图像后,我可以通过执行 docker images --digests
来读取图像,这为我提供了一个可以使用的哈希值,但我不知道在哪里可以找到可以与 docker hub 进行比较的内容
docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
mcr.microsoft.com/dotnet/sdk 3.1.410-nanoserver-1809 sha256:c579393a1cb901b13355e985271c94c35cde0bd49f8640ace97f16f4fa641bac 9cba62e9195e 8 days ago 760MB
mcr.microsoft.com/windows/servercore ltsc2019-amd64 sha256:ad4ef35c9cfa9d3da0a05bfaa0901e08ee2027ea10d8487490caa9d520c46a8a 5b60ac4e9e92 11 days ago 5.62GB
答案 0 :(得分:0)
您可以使用像 skopeo
这样的工具来运行这样的命令
skopeo inspect docker://docker.io/alpine:latest
它查询存储库并以 JSON 形式返回数据。图像数据的开头包括摘要。
{
"Name": "docker.io/library/alpine",
"Digest": "sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0",
"RepoTags": [
"2.6",
"2.7",
如果您喜欢冒险,也可以自己查询注册表 API。文档在这里:https://docs.docker.com/registry/spec/api/