How to Fix Docker Pull Timeouts in China with 3 Reliable Registry Mirrors (2025)
This guide explains why Docker image pulls often time out in China, shows that many online mirror lists are outdated, and provides three verified registry mirrors with step‑by‑step configuration, testing instructions, and practical tips to keep Docker pulling fast and reliable.
When pulling images on a server in China, Docker often times out because the default registry is overseas.
Many online tutorials list mirror URLs, but most of them are outdated or unreachable.
{
"registry-mirrors": [
"https://docker.1panelproxy.com",
"https://2m11665s.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://k8s.gcr.io",
"https://github-releases.githubusercontent.com",
"https://ustc-edu-cn.mirror.aliyuncs.com"
],
"insecure-registries": [
"registry.me:5000",
"http://docker.mirrors.ustc.edu.cn",
"https://k8s.gcr.io",
"https://github-releases.githubusercontent.com",
"https://registry-1.docker.io",
"decs.com"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}Testing these URLs with ping shows that most domains are no longer reachable, and changing DNS to 8.8.8.8 can worsen the problem.
The author discovered three mirrors that are still functional in 2025:
{
"registry-mirrors": [
"https://docker.1ms.run", // fastest, recommended
"https://dockerproxy.com", // stable and compatible
"https://hub.rat.dev" // fallback when the first fails
]
}Configuration steps
Edit the Docker daemon configuration file /etc/docker/daemon.json and replace its content with the JSON above.
Reload and restart Docker: systemctl daemon-reload && systemctl restart docker Test the setup with docker pull hello-world; a quick pull confirms success.
Key takeaways
Analyze the error first; timeouts usually indicate network or mirror issues.
Verify that a solution is still valid; mirror URLs can become obsolete within months.
AI can help locate up‑to‑date mirrors, but always double‑check the results (e.g., ping the domain).
Useful tricks
Use ping to quickly determine if a domain resolves in the current network.
Pull a small image from the mirror, e.g., docker pull docker.1ms.run/hello-world, to verify the mirror works.
When editing daemon.json in vim, use dd to delete a line efficiently.
Architect's Guide
Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
