Understanding Docker Hub Rate Limiting
On November 20, 2020, rate limits anonymous and free authenticated use of Docker Hub went into effect. Anonymous and Free Docker Hub users are limited to 100 and 200 container image pull requests per six hours. You can read here for more detailed information.
If you are affected by these changes you will receive this error message:
ERROR: toomanyrequests: Too Many Requests.
You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits. You must authenticate your pull requests.
To increase your pull rate limits you can upgrade your account to a Docker Pro or Team subscription.
The rate limits of 100 container image requests per six hours for anonymous usage, and 200 container image requests per six hours for free Docker accounts are now in effect. Image requests exceeding these limits will be denied until the six hour window elapses.
NOTE: Docker Pro and Docker Team accounts enable 5,000 pulls in a 24 hour period from Docker Hub.
Here are the steps you can follow to understand and manage usage for anonymous and free usage of Docker Hub in your app development process:
- Understand your Docker Hub usage. You can get a real time understanding of your current usage right from the Docker CLI. This blog post shows you how to get an updated usage number for your account and see if the rate limitation enforcement will impact your account.
- Upgrade to Pro or Team if necessary. One of the key benefits is an increased number of pulls to 5,000 in a 24 hour period from Docker Hub. Plans start at $5 per month per developer, you can learn more and upgrade your subscription at the Docker Pricing page.
- Monitor your usage and adjust accordingly. Docker Hub will return a header message indicating when a usage limit has been reached. When you exceed, you can adjust your process to reduce consumption, or upgrade to a Docker Pro or Docker Team subscription.
- Rate Limiting Documentation
- Resource Consumption Update FAQ
- Blog post on Resource Consumption and Image Retention Policy Updates
- Docker Subscription Pricing Page
- Pricing FAQ
- Guidance for Setting Up a Mirror
- Understanding Inner Loop Development and Pull Rates
- Docker Partner Information Request for Rate Limiting Exclusions