# 请求过多：您已达到拉取速率限制。您可以通过身份验证和升级来提高限制：https://www.docker.com/increase-rate-limits

- **ID:** `cicd/docker-pull-rate-limit`
- **领域:** cicd
- **类别:** resource_error
- **错误码:** `DOCKER_PULL_RATE_LIMIT`
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

Docker Hub拉取速率限制已超出（匿名用户：每6小时100次拉取，已认证免费用户：每6小时200次拉取），原因是CI频率过高或共享IP地址。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Docker 24.0 | active | — | — |
| Docker 25.0 | active | — | — |
| Docker 26.0 | active | — | — |

## 解决方案

1. ```
   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.
   ```
2. ```
   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'
   ```

## 无效尝试

- **** — Passive waiting delays CI pipelines and doesn't solve the root cause; the limit will be hit again on the next build. (80% 失败率)
- **** — Changing platform doesn't bypass rate limits; each pull still counts against the same quota regardless of platform. (95% 失败率)
