Is Docker Hub Down Right Now?
Image pulls failing, CI pipelines broken, 429 rate limit errors — Docker Hub issues hit at the worst moments. This guide separates true outages from rate limits, gives you mirror fallbacks, and shows you how to monitor Docker Hub externally.
📡 Monitor your APIs — know when they go down before your users do
Better Stack checks uptime every 30 seconds with instant Slack, email & SMS alerts. Free tier available.
Affiliate link — we may earn a commission at no extra cost to you
Check Docker Hub Status Now
Docker's official status page shows component health for image pulls, pushes, authentication, and the registry API:
Docker Hub Service Components
Docker Hub is composed of multiple services. Pull failures don't always mean Docker Hub is down — rate limits, auth issues, and network problems can cause identical symptoms.
Download container images from public/private repos
Upload images to your Docker Hub repositories
Docker Hub auth and Personal Access Tokens
Hub search, Explore page, Official Images catalog
Deprecated cloud builds (now local with push)
Post-push notifications to external URLs
Access control for private repositories
OCI distribution spec API for programmatic access
Monitor Docker Hub before your CI pipelines fail
Docker Hub outages silently break CI/CD pipelines — builds queue up, engineers debug locally, and no one checks the status page for 20 minutes. Better Stack monitors Docker Hub externally and pings your Slack the moment registry pulls degrade.
Try Better Stack Free →Diagnostic Playbook
Check status.docker.com
Look for incidents affecting image pulls or authentication. The status page is sometimes slow to update — check Twitter/X @dockerstatus for real-time reports.
→ Docker Status PageIdentify the exact error
Run `docker pull hello-world` and read the error: "429 Too Many Requests" = rate limit (not an outage). "500 Internal Server Error" = Docker Hub outage. "connection refused" = network issue on your end.
Authenticate to bypass rate limits
If you see 429 errors: `docker login` with your Docker Hub credentials. Create a Personal Access Token at hub.docker.com → Account Settings → Security for CI/CD (safer than using your password).
Use a mirror or alternative registry
For confirmed outages, use `docker pull gcr.io/google-containers/pause:3.6` to test GCR, or switch your CI base images to public.ecr.aws equivalents. Configure daemon.json with a mirror endpoint.
Check your local Docker daemon
Confirm Docker is running: `systemctl status docker` (Linux) or check Docker Desktop status (Mac/Windows). Run `docker info` to see daemon connectivity. Eliminate local issues before blaming Docker Hub.
Docker Hub Rate Limits (2026)
| Tier | Pull Limit | Window | Fix |
|---|---|---|---|
| Anonymous | 100 | per 6 hours per IP | Log in or use a mirror |
| Free (authenticated) | 200 | per 6 hours per account | Use per-CI-job auth token |
| Pro / Team | Unlimited | — | Upgrade plan |
Check remaining pulls: curl --head -H "Authorization: Bearer TOKEN" https://registry-1.docker.io/v2/library/ubuntu/manifests/latest — look for ratelimit-remaining header.
Alert Pro
14-day free trialStop checking — get alerted instantly
Next time Docker Hub goes down, you'll know in under 60 seconds — not when your users start complaining.
- Email alerts for Docker Hub + 9 more APIs
- $0 due today for trial
- Cancel anytime — $9/mo after trial
Frequently Asked Questions
Is Docker Hub down right now?
Check the official Docker Hub status page at status.docker.com. It shows health for image pulling, image pushing, authentication, webhooks, and search. If the status page shows green but pulls are failing, you may be hitting rate limits (429 errors) rather than experiencing an outage — check with `docker pull hello-world` and look at the exact error message.
Why is docker pull failing with "429 Too Many Requests"?
Docker Hub imposes pull rate limits: anonymous users get 100 pulls per 6 hours per IP, free authenticated users get 200 pulls per 6 hours. CI/CD pipelines sharing an IP (like GitHub Actions or GitLab runners on shared infrastructure) hit this constantly. Fix: (1) Authenticate your Docker daemon with `docker login` using a Docker Hub account, (2) Use a Docker Hub Personal Access Token instead of a password, (3) Configure a pull-through cache/mirror in your Kubernetes cluster or CI runner. Docker Hub Pro/Team plans have unlimited pulls.
How do I use a Docker Hub mirror to bypass rate limits?
Configure a registry mirror in /etc/docker/daemon.json: `{"registry-mirrors": ["https://mirror.gcr.io"]}` then restart Docker (`systemctl restart docker`). Google's GCR mirror caches public Docker Hub images. For Kubernetes: configure the mirror in your container runtime (containerd: edit /etc/containerd/config.toml, add `[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]` with endpoint pointing to your mirror). ECR Public Gallery, GitHub Container Registry, and self-hosted Harbor are common alternatives for production.
How long do Docker Hub outages usually last?
Most Docker Hub degradations resolve within 1–3 hours. Major infrastructure incidents can last 4–8 hours in rare cases. Docker Hub has had several notable outages that blocked CI/CD pipelines globally — this is why production Kubernetes clusters should use private registries (ECR, GCR, ACR, Harbor) for their own images and a pull-through cache for public images. Never depend on Docker Hub availability in your production container startup path.
What is the difference between Docker Hub being down vs Docker daemon being down?
Docker Hub (hub.docker.com) is the remote registry service — it stores and serves container images. The Docker daemon (dockerd) is the local service on your machine that manages containers. If `docker ps` works but `docker pull` fails, the daemon is fine but Docker Hub is the issue. If `docker ps` returns "Cannot connect to the Docker daemon," your local daemon is not running — start it with `systemctl start docker` or open Docker Desktop. Both can fail independently.