下载前获取 docker 镜像的摘要哈希

时间:2021-06-17 19:04:29

标签: docker security hash

我的最终目标是能够在从 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

1 个答案:

答案 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/