使用SHA哈希的Docker图像搜索

时间:2019-12-19 06:21:38

标签: docker docker-compose dockerfile containers docker-registry

我正在尝试使用SHA256哈希搜索图像:

我有 sha256 哈希,我想知道是否存在带有此sha256哈希的docker映像。有可能这样做吗?

2 个答案:

答案 0 :(得分:0)

您可以使用docker images列出所有图像并找到特定的图像:

docker images --no-trunc -q | grep <image_hash>

或者您想通过一大堆哈希数字进行搜索:

docker images -q | grep <image_hash>

答案 1 :(得分:0)

这是我所知道的使用 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/

中的“拉取图层”