policy resource_error ai_generated true

Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

ID: policy/docker-hub-pull-rate-limit-exceeded

Also available as: JSON · Markdown · 中文
85%Fix Rate
88%Confidence
1Evidence
2023-06-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Docker Engine 24.0 active
Docker Desktop 4.25 active
Docker Hub rate limit policy Nov 2020 active

Root Cause

Docker Hub enforces anonymous pull rate limits (100 pulls per 6 hours per IP) and authenticated free tier limits (200 pulls per 6 hours per user); exceeding these blocks pulls.

generic

中文

Docker Hub 对匿名拉取(每 6 小时每 IP 100 次)和经过身份验证的免费用户(每 6 小时 200 次)实施拉取速率限制;超出限制后会阻止拉取。

Official Documentation

https://docs.docker.com/docker-hub/download-rate-limit/

Workarounds

  1. 90% success Authenticate with docker login using a Docker Hub account (free tier raises limit to 200 pulls/6h).
    Authenticate with docker login using a Docker Hub account (free tier raises limit to 200 pulls/6h).
  2. 95% success Upgrade to a Docker Pro/Team subscription for unlimited pulls, or use a mirror registry like mirror.gcr.io.
    Upgrade to a Docker Pro/Team subscription for unlimited pulls, or use a mirror registry like mirror.gcr.io.

中文步骤

  1. 使用 docker login 通过 Docker Hub 账户进行身份验证(免费用户限制提高到每 6 小时 200 次拉取)。
  2. 升级到 Docker Pro/Team 订阅以获得无限拉取,或使用镜像注册表如 mirror.gcr.io。

Dead Ends

Common approaches that don't work:

  1. Restart Docker daemon to reset rate limit counter 95% fail

    Rate limit is enforced server-side by Docker Hub based on IP address and user account; restarting the daemon does not change the client IP or authentication status.

  2. Use a VPN to get a different IP address 70% fail

    While a new IP may reset anonymous limits temporarily, many corporate VPNs share IPs, causing the same limit to be hit again quickly; also violates many corporate security policies.