Cloud Native 5 min read

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.

Architect's Guide
Architect's Guide
Architect's Guide
How to Fix Docker Pull Timeouts in China with 3 Reliable Registry Mirrors (2025)

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.

DockerConfigurationDevOpsChinaContainer Registryregistry-mirrorsdocker-pull-timeout
Architect's Guide
Written by

Architect's Guide

Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.