DOCKER_PULL_RATE_LIMIT
cicd
resource_error
ai_generated
true
请求过多:您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:https://www.docker.com/increase-rate-limits
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%修复率
90%置信度
1证据数
2023-03-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Docker 24.0 | active | — | — | — |
| Docker 25.0 | active | — | — | — |
| Docker 26.0 | active | — | — | — |
根因分析
Docker Hub拉取速率限制已超出(匿名用户:每6小时100次拉取,已认证免费用户:每6小时200次拉取),原因是CI频率过高或共享IP地址。
English
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.
官方文档
https://docs.docker.com/docker-hub/download-rate-limit/解决方案
-
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'
无效尝试
常见但无效的做法:
-
80% 失败
Passive waiting delays CI pipelines and doesn't solve the root cause; the limit will be hit again on the next build.
-
95% 失败
Changing platform doesn't bypass rate limits; each pull still counts against the same quota regardless of platform.