DOCKER_PULL_RATE_LIMIT
cicd
resource_error
ai_generated
true
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits
ID: cicd/docker-pull-rate-limit
85%Fix Rate
90%Confidence
1Evidence
2023-03-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Docker 24.0 | active | — | — | — |
| Docker 25.0 | active | — | — | — |
| Docker 26.0 | active | — | — | — |
Root Cause
Docker Hub pull rate limit exceeded (anonymous users: 100 pulls/6 hours, authenticated free users: 200 pulls/6 hours) due to high CI frequency or shared IP addresses.
generic中文
Docker Hub拉取速率限制已超出(匿名用户:每6小时100次拉取,已认证免费用户:每6小时200次拉取),原因是CI频率过高或共享IP地址。
Official Documentation
https://docs.docker.com/docker-hub/download-rate-limit/Workarounds
-
90% success Authenticate Docker Hub in CI: use 'docker login -u $DOCKER_USER -p $DOCKER_PAT' to increase the limit to 200 pulls/6 hours for free accounts or unlimited for Pro/Team accounts.
Authenticate Docker Hub in CI: use 'docker login -u $DOCKER_USER -p $DOCKER_PAT' to increase the limit to 200 pulls/6 hours for free accounts or unlimited for Pro/Team accounts.
-
95% success Use a mirror registry like 'registry-mirror.example.com' or switch to Amazon ECR/GCR to avoid Docker Hub limits entirely. Example: 'docker pull registry-mirror.example.com/library/node:18'
Use a mirror registry like 'registry-mirror.example.com' or switch to Amazon ECR/GCR to avoid Docker Hub limits entirely. Example: 'docker pull registry-mirror.example.com/library/node:18'
中文步骤
Authenticate Docker Hub in CI: use 'docker login -u $DOCKER_USER -p $DOCKER_PAT' to increase the limit to 200 pulls/6 hours for free accounts or unlimited for Pro/Team accounts.
Use a mirror registry like 'registry-mirror.example.com' or switch to Amazon ECR/GCR to avoid Docker Hub limits entirely. Example: 'docker pull registry-mirror.example.com/library/node:18'
Dead Ends
Common approaches that don't work:
-
80% fail
Passive waiting delays CI pipelines and doesn't solve the root cause; the limit will be hit again on the next build.
-
95% fail
Changing platform doesn't bypass rate limits; each pull still counts against the same quota regardless of platform.