私人Docker注册表中的看似损坏的图像哈希

时间:2018-12-13 14:49:17

标签: docker docker-registry

我设置了一个私有docker registry(2.6.2),并从docker(18.09.0-ce,build 4d60db472b)推送了一堆图像。

在尝试删除某些标签时(如heredoc中所述),我遇到了一些问题。我想我现在找到了根本原因:很多图像清单的哈希值都不正确。

例如curl --user usr:pwd -H Accept:application/vnd.docker.distribution.manifest.v2+json https://my.server/v2/my-repo/manifests/latest返回:

{
 "schemaVersion": 2,
 "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
 "config": {
   "mediaType": "application/vnd.docker.container.image.v1+json",
   "size": 5296,
   "digest": "sha256:889..."
  },
"layers": [......]
}

到目前为止,一切都很好,除了清单摘要是错误的。我了解它应该是清单的哈希(上面返回的json),但由于某种原因,它不是。如果我手动计算json的sha256哈希,则为517...

实际上,查询(或尝试删除)/v2/my-repo/manifests/sha256:889...时得到一个404 Not Found,而/v2/my-repo/manifests/sha256:517...返回的则与/v2/my-repo/manifests/latest相同。

我是否误解了预期的行为,是否遇到了错误?

这使得删除旧图像变得相当复杂,并且可能会引起其他问题。

0 个答案:

没有答案