为什么Docker;“祖先”;API命令不工作?

为什么Docker;“祖先”;API命令不工作?,api,registry,docker,Api,Registry,Docker,Docker注册表API文档()说明您可以执行以下操作: https://index.docker.io/v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry 然而,这(我尝试过几个图像ID)只产生404。为什么?您使用的域不正确。文档示例中的注释: GET /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7

Docker注册表API文档()说明您可以执行以下操作:
https://index.docker.io/v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry


然而,这(我尝试过几个图像ID)只产生404。为什么?

您使用的域不正确。文档示例中的注释:

GET /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry HTTP/1.1
    Host: registry-1.docker.io
    Accept: application/json
    Content-Type: application/json
    Cookie: (Cookie provided by the Registry)
您应该使用registry-1.docker.io,而不是index.docker.io。因此,您的url应该是:

https://registry-1.docker.io/v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry
当我运行这个时,我不再得到404,而是得到一个授权错误。这是因为您需要针对index.docker.io进行身份验证,然后针对registry-1.docker.io运行api

它没有很好的文档记录-您可能会发现此讨论很有帮助:

从讨论中可以看出:

registry-1.docker.io是用于存储图像的docker注册表, 此API是公共的,但需要授权

index.docker.io是现在称为RegistryHub的“索引”,这个标签 终结点不是公共的,可能随时更改。我不会使用 这一个,因为它是仅供内部使用,可能会改变没有 警告