【问题标题】:Get Docker tag based on digest?根据摘要获取 Docker 标签?
【发布时间】:2018-07-25 09:03:44
【问题描述】:

具体谈谈 GCR,但由于它只是一个 docker 注册表,所以这个问题可能应该适用于全局

我有一个来自 grafeas 的 resourceUrl,格式为:

https://eu.gcr.io/projectId/image@sha256:c6f84183f9605cfb16c489dbbf2aed19304288c820f0b233d92d0e98de65d899

如何获取此摘要的标签sha256:c6f84183f9605cfb16c489dbbf2aed19304288c820f0b233d92d0e98de65d899

docker v2 API 上唯一适用的(?)端点是/v2/<name>/manifests/<reference>,但返回的清单没有标签信息。

当然我可以使用/v2/<name>/tags/list ant 循环遍历所有标签来匹配摘要,但这似乎很不理想

【问题讨论】:

    标签: docker google-cloud-platform google-container-registry


    【解决方案1】:

    目前没有通过注册表 API 执行此操作的简单方法。

    GCR(当前)在/tags/list 响应中返回从摘要到标签的映射,例如,这可以在公共回购中使用curljq

    $ curl -s https://gcr.io/v2/google-containers/cadvisor/tags/list | jq '.manifest["sha256:b3b01b12dd15699e818c2c54160d48e0ea52bfab970e4ce7402e3dcb13ec82fa"].tag'
    ["latest", "v0.28.3"]
    

    这种行为实际上并不是规范的一部分,因此可能会发生变化,但它现在有效。

    【讨论】:

    • 偶然发现了这个。很遗憾tags/list 没有指定至少返回标签的摘要:-(
    猜你喜欢
    • 1970-01-01
    • 2016-11-18
    • 2018-02-06
    • 2018-08-24
    • 2018-04-16
    • 1970-01-01
    • 2019-06-16
    • 2023-01-25
    • 1970-01-01
    相关资源
    最近更新 更多