My app using registry API to get image manifest (end-3 /v2//manifests/) only, there is no blob request.
I thought manifest pulling is not image pulling (download). Is this intended behavior? If it is, I think 100reqs/6hours is too small.
I have some images that I need to check to see if they are outdated. Is there an alternative way that compares the layer digest, but does not count the pull?
It’s like limiting Google searches to 100 searches every 6 hours.
That’s the quota for anonymous access per public ip.
If you need a different rate, then you’ll have to login using docker login
.
The free personal subscription raises the rate to 200 reqs per 6 hrs.
If you need more, you should consider the pro subscription (see: https://www.docker.com/pricing/)
@meyay you didn’t answer the OP’s question. They are asking why doing a GET of the manifest is considered a pull. I have the same question. Why is GETting metadata (a very small amount of data about the manifest) considered the same as pulling an entire image? As the OP says, it’s kinda like rate limiting Google searches to 200 requests every 6 hours… craziness.
You are right! Back then I only saw the Rate limit number of 100 and concentrated on that, and indeed missed the core part of the question.
@rimlek: can you pitch in?
Unfortunately I can’t tell what the exact reason was, but as far as I know, a pull is any GET .*/manifest/.*
request, except that for multi-arch images 1 request contains one on the index and one on the platform specific manifest so basically 20 requests would be 10 pulls.
There is a different approach used for the Dashboard however, but since it is not real-time, it is not used for rate limiting. In the future Docker might have a better approach for rate limiting as they are working on improving Docker Hub.