作者:warzsy | 来源:互联网 | 2023-07-06 13:26
我正在尝试使用SHA256哈希搜索图像:
我有 sha256 哈希,我想知道是否存在带有此sha256哈希的docker映像。有可能这样做吗?
您可以使用docker images
列出所有图像并找到特定的图像:
docker images --no-trunc -q | grep
或者您想通过一大堆哈希数字进行搜索:
docker images -q | grep
,
这是我所知道的使用 Docker 注册表 API 的最简单方法。如果我在本地网络上有一个现有的 Docker 存储库,我可以使用 SHA 哈希查询那里是否存在特定的图像。只需要发出一个简单的 HTTP GET 请求。像这样组装字符串 -
FullURL = DomainAndPort + "/v2/" + imageName + "/blobs/sha256:" + imageHash;
在我们的网络存储库中对我有用的示例请求 -
http://10.10.9.84:5000/v2/hello-world/blobs/sha256:8089101ead9ce9b8c68d6859995c98108e1022c23beaa55754acb89d66fd3381
将该字符串输入 Chrome 浏览器会返回一个描述图像的 JSON 对象。如果您输入无效的 sha256 哈希,则 API 将返回 -
{"errors":[{"code":"DIGEST_INVALID","message":"provided digest did not match uploaded content","detail":{}}]}
有关详细信息,请参阅 https://docs.docker.com/registry/spec/api/
中的“拉取图层”