Daniel Sikes
Daniel Sikes

Reputation: 1802

How to authenticate docker hub api request?

I have been trying for the past several hours to make an authenticated request to the docker hub api. First of all, let me say that their documentation is very unclear. There are several different subdomains that you have to cycle through. The ones I have seen are index.dockerhub.io, registry-1.docker.io/v1/ auth.docker.com/token. There were others. But you get the point. Its like their api is managed by 30 different people or something and they forgot to have a meeting about how to unify their api. It feels like I have read just about everything I could find on the internet about how to do what I am trying to do, and it still is very unclear to me what I am supposed to do.

Their documentation states that I am supposed to get an auth token before making certain request. Ok. Fine. How do I do that? I got lucky and stumbled across the endpoint, https://auth.docker.io/v2/token/ no thanks to their api. I found it by just guessing. I don't know that version 2 is capable of even doing what I am trying to do.

What steps do I need to take to make authenticated request to the dockerhub api. What I am trying to do more specifically, is I am trying to query information about the given images that are on the hub, like the size of the images, and the basic port information that is available. I know its possible, because I have used services that do it. So, how do you properly authenticate request to get this information?

Upvotes: 4

Views: 2678

Answers (1)

Daniel Sikes
Daniel Sikes

Reputation: 1802

So after a few more hours of working on this problem, I came across someone who had similar issues and wrote a blog post about exactly how to solve it. The short answer is the endpoint that was missing from the docker api documentation is https://cdn-registry-1.docker.io/v1/. Why didn't they document their api better? I don't know. If anyone wants to read the full article about how this is done, you can find it at http://www.appcontainers.com/requesting-image-information-using-the-public-docker-api/

This was the most helpful article I have found on the subject. Hopefully this will help some other poor soul who is trapped in the confusion known as the docker api.

Upvotes: 1

Related Questions