【问题标题】:Why does Docker "ancestry" API command not work?为什么 Docker“祖先”API 命令不起作用?
【发布时间】:2015-04-07 01:48:13
【问题描述】:

Docker Registry API 文档 (here) 声明您可以: https://index.docker.io/v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry

但是这(我尝试了几个图像 ID)只会产生 404。为什么?

【问题讨论】:

    标签: api registry docker


    【解决方案1】:

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

    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。所以你的网址应该是:

    https://registry-1.docker.io/v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/ancestry
    

    当我运行它时,我不再收到 404,而是收到授权错误。这是因为您需要针对 index.docker.io 进行身份验证,然后针对 registry-1.docker.io 运行您的 api。

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

    https://forums.docker.com/t/registry-hub-api-is-buggy/732

    来自讨论:

    registry-1.docker.io 是用于存储镜像的 docker-registry, 此 API 是公开的,但需要授权。

    index.docker.io 是现在称为 RegistryHub 的“索引”,这个标签 端点不是公开的,并且可能随时更改。我不会用 这一个,因为它仅供内部使用,并且可能会更改而无需 警告。

    【讨论】:

      最近更新 更多