如何根据image_id查找(最近)标签

时间:2015-12-17 15:19:08

标签: docker

我有image_id fc251f2434a12eaf8370dee1bc56ab1857978cb769d64e29fea373db699823c6和图片名称registry,我想找到最接近的标签。

我尝试过查询

  

curl https://registry.hub.docker.com//v1/repositories/registry/tags

但是没有以此哈希开头的标记。然后我试过

  

curl https://registry.hub.docker.com//v1/repositories/registry/images

     

$(...){“checksum”:“”,“id”:“fc251f2434a12eaf8370dee1bc56ab1857978cb769d64e29fea373db699823c6”},{“checksum”:( ..)

找到了我正在寻找的图像。

根据这些信息,我可以找到最近的标签吗?

1 个答案:

答案 0 :(得分:1)

通常,如果自创建标签以来对其进行了修改或删除,通常就无法找出哪些标签是在引用给定的图像ID。

如果映像托管在docker.io/library/*上(在Docker Hub上也称为“官方映像”),则可以查看此Git repository的历史。每次推送正式映像都会生成对该存储库的提交,因此可以通过进行本地克隆并使用git-grep来找出指向特定映像ID的标签。回购协议相当庞大,因此请考虑使用--depth的{​​{1}}选项。

我个人从来没有克隆过仓库。就我而言,我一直在寻找官方git-clone图片的丢失标签,因此我只是在GitHub的Web UI上浏览了history of postgres's tag-details.md,直到找到图片发布当天的提交。创建。然后,我仔细地单击了它们中的每一个,最后找到了一个包含匹配图像ID的特定提交。

P.S。要找出图像的创建日期,请使用postgres(相对日期)和docker image ls my_image_id(UTC中的绝对日期)。