Bash命令列出远程注册表中的所有docker镜像

时间:2016-03-08 15:10:00

标签: docker docker-registry

我有一个程序设置来远程管理图像&本地网络上各种PC上的容器。我希望能够获得注册表中所有可用图像的列表。我有注册表机器的IP,我正在寻找一些命令来列出该注册表中的所有内容,以便我可以按存储库/标记进行排序。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我想您使用的是最新的v2 docker注册表。

Docker Registry v2定义明确REST API

例如,如果您在位置具有注册表:registry.example.com:5000和https代理,则可以使用地址:https://registry.example.com:5000/v2/_catalog列出所有存储库。

以下是在注册表中列出前100个存储库及其标记的示例。请注意,存储库和标记的分页需要比在此快速示例中更仔细地完成。

registry="registry.example.com:5000"
repos=`curl https://$registry/v2/_catalog?n=100 | jq '.repositories[]' | tr -d '"'`
for repo in $repos; do 
   curl https://$registry/v2/$repo/tags/list; 
done