Выводим список образов из docker registry. Рассматриваем v2.
Можно посмотреть через браузер:
https://registry.local/v2/_catalog
Увидим JSON:
{
"repositories": [
"library/nginx",
"library/node",
"library/postgres",
"library/python",
"library/redis",
"library/registry",
"library/ruby",
"library/ubuntu"
]
}
На страницу выводится 100 записей. Можно вывести больше:
https://registry.local/v2/_catalog?n=1000
Вывести теги:
https://registry.local/<repository_name>/tags/list
https://registry.local/library/ubuntu/tags/list
Увидим JSON:
{
"name": "library/ubuntu",
"tags": [
"bionic",
"bionic-20171114",
"bionic-20171214",
"bionic-20171220"
]
}
В bash вывод списка образов с тегами:
apt install jq
REPO_URL=registry.local:443
curl -k -s -X GET https://$REPO_URL/v2/_catalog \
| jq '.repositories[]'\
| sort
| xargs -I _ curl -s -k -X GET https://$REPO_URL/v2/_/tags/list
| jq
Если есть аутентификация, то в curl добавятся параметры:
curl -X GET -u <user>:<password> https://registry.local/v2/_catalog
curl -k -X GET https://user:password@registry.local/v2/_catalog
Ссылки
https://stackoverflow.com/questions/31251356/how-to-get-a-list-of-images-on-docker-registry-v2