Мне нужен доступ к частному реестру docker с использованием Go и протокола V2. Мне нужно перечислить репозитории в личном реестре, получить все их теги и другую информацию. Должен ли я использовать Docker / Distribution / Registry / Client для этого? Есть ли образец для такой задачи? Я не могу его найти ... Официальный сайт предоставляет только документацию http api.
Я написал код:
registry, err := client.NewRegistry("https://registry-1.docker.io/", http.DefaultTransport)
if err != nil {
log.Error("Error creating the registry: {}", err)
return
}
ctx := context.Background()
entries := make([]string, 5)
numFilled, err := registry.Repositories(ctx, entries, "")
if err != io.EOF {
log.Error("Error getting the registry: {}", err)
return
}
log.Info("Number of repositories: {}", numFilled)
_ = registry
Конечно, репозиторий docker требует аутентификации. Но как мне это обеспечить? Есть ли do c для такой задачи?