Docker Registry API 2.0 Поиск повторяющихся тегов - PullRequest
1 голос
/ 05 июня 2019

Я бы хотел автономно запросить реестр Docker (API v2), чтобы определить теги, которые ссылаются на одно и то же изображение. Так, например, если я смотрю на Docker Hub golang repository и хочу найти все теги, которые представляют самое последнее изображение Alpine, каков наиболее эффективный способ сделать это? Для этого примера набор тегов, связанных с тегом :alpine, будет 1.12.5-alpine3.9, 1.12-alpine3.9, 1-alpine3.9, alpine3.9, 1.12.5-alpine, 1.12-alpine, 1-alpine, alpine.

В настоящее время у меня есть функциональная реализация в python для этого, но она крайне неэффективна:

  1. Просмотрите все теги, выделите интересующий меня тег (например, :alpine)
  2. Для каждого тега получите манифест, содержащий слои
  3. Определите слои, которые составляют изображение для интересующего меня тега, проверьте все остальные изображения на идентичные слои.

Для репо golang есть 980 тегов. Таким образом, хотя вышеприведенное решение работает, оно довольно расточительно, поскольку требует почти 1000 вызовов API. Как создается список в группах Simple Tags? Они созданы или созданы вручную сопровождающими?

...