Guía de mirrors de Docker en China 2026: resuelve pull timeout en 5 minutos

Actualización de junio de 2026: este artículo se ha recalibrado según la documentación oficial de Docker sobre límites de uso de Docker Hub y pull-through cache. La recomendación actual ya no es confiar en un solo mirror público, sino identificar primero la capa de red y luego elegir entre mirrors comunitarios, proxy HTTP o caché interna corporativa. Un cambio fácil de pasar por alto: desde el 1 de abril de 2025, Docker Hub aplica límites de descarga (10/hora por IP sin autenticar, 100/hora con cuenta gratuita); si el fallo es un 429 y no un timeout, haz primero docker login en lugar de cambiar de mirror.
El viernes pasado a las tres de la tarde miré el comando docker pull nginx:latest en la terminal: el cursor parpadeó diez minutos enteros y al final apareció un i/o timeout en rojo. La verdad, no era la primera vez. Desde junio de este año esto pasa cada vez más: la red parece bien, el navegador vuela, pero la imagen de Docker no baja.
Revisé tutoriales en línea y muchos recomendaban mirrors de Alibaba Cloud o NetEase; tras configurarlos seguían sin funcionar. Más tarde supe que el 6 de junio de 2024 casi todos los aceleradores de imágenes de Docker en China dejaron de servir: Alibaba, Tencent, Baidu y los mirrors universitarios o cerraron o quedaron solo para red interna.
¿Te ha pasado? Ves tutoriales de 2023 que prometen «solución perfecta para Docker lento», configuras daemon.json, reinicias Docker, vuelves a hacer docker pull con ilusión… y otra vez timeout. Frustrante.
La buena noticia: aún quedan mirrors mantenidos por la comunidad y, en mis pruebas, funcionan. En este artículo te cuento cuáles siguen activos en diciembre de 2025, cómo configurar daemon.json y cómo diagnosticar problemas. Sin rodeos: vamos al grano.
¿Por qué dejaron de funcionar tantos mirrors de Docker?
Antes de las soluciones, conviene entender qué pasó. No es que tu mirror de Alibaba Cloud dejara de ir «sin motivo».
El 6 de junio de 2024 fue un punto de inflexión. Ese día casi todos los servicios principales de aceleración de Docker Hub en China anunciaron cese o restricciones. Mirrors de Alibaba, NetEase, Tencent, Baidu y universidades como Nanjing, Shanghai Jiao Tong o USTC cerraron o pasaron a acceso solo en campus.
Cuando vi la noticia me sorprendió: llevábamos años usándolos y de golpe desaparecieron. Luego entendí que era mezcla de normativa y coste: cumplimiento y mantener un servicio de alta disponibilidad quema dinero.
Si hoy visitas esos mirrors antiguos, suele ser 404 o timeout. Si en daemon.json sigues con registry.cn-hangzhou.aliyuncs.com o hub-mirror.c.163.com, básicamente no sirven.
¿Y Docker Hub directo? Técnicamente sí, pero en la red china la velocidad puede hacerte dudar. Una imagen de cientos de MB puede tardar media hora; el timeout es habitual.
Mirrors que siguen funcionando en diciembre de 2025
Tranquilo: aunque cayeron los de las grandes empresas, hay servicios gratuitos mantenidos por la comunidad. Probé varios y armé esta lista vigente a diciembre de 2025.
Lista de mirrors disponibles
| Nombre | Dirección | Notas |
|---|---|---|
| Xuanyuan Mirror (gratis) | https://docker.xuanyuan.me | Comunidad, gratis, buena respuesta |
| Xuanyuan Mirror (pro) | https://xuanyuan.cloud | Requiere login, más estable |
| DaoCloud | https://docker.m.daocloud.io | Mirror veterano, relativamente estable |
| 1ms.run | https://docker.1ms.run | Mantenido por la comunidad |
| 1panel | https://docker.1panel.live | Mantenido por la comunidad |
| rat.dev | https://hub.rat.dev | Mantenido por la comunidad |
| aigc2d | https://docker-mirror.aigc2d.com | Mantenido por la comunidad |
Recomendación: en mi uso, Xuanyuan y DaoCloud son los más estables. La versión gratis docker.xuanyuan.me ya va rápido; si necesitas más estabilidad, prueba la versión pro.
Recordatorios de uso
-
Son servicios mantenidos con recursos propios. Sin el respaldo de Alibaba o Tencent, pueden cerrar en cualquier momento. Úsalos con criterio, sin abusar.
-
No aceleran todas las imágenes. Algunos solo ofrecen imágenes base (nginx, mysql, redis) o tienen lista blanca. Si una imagen rara hace timeout, prueba otro mirror o Docker Hub directo.
-
Configura varios mirrors. daemon.json admite varios registry-mirrors; Docker los prueba en orden. Si el primero falla, pasa al siguiente.
Las direcciones las tomé del repositorio dongyubin/DockerHub en GitHub, que actualiza la lista de mirrors activos. Vale la pena guardarlo.
Configurar daemon.json paso a paso
Con las direcciones listas, toca configurar: un JSON y reiniciar Docker. Repaso los tres sistemas más habituales.
Linux (lo más común)
La mayoría de servidores y máquinas de desarrollo usan Linux.
1. Crear o editar el archivo de configuración
Ruta: /etc/docker/daemon.json (créalo si no existe)
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
2. Escribir la configuración
Copia este JSON; puse tres mirrors de respaldo:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
]
}
Guarda y sal (en vi: ESC, luego :wq y Enter).
3. Reiniciar Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
El primero recarga systemd; el segundo reinicia Docker. Ambos son obligatorios para que aplique la configuración.
macOS (Docker Desktop)
En Mac, Docker Desktop ofrece interfaz gráfica.
1. Abrir ajustes de Docker Desktop
Icono de Docker en la barra de menú → Settings (o Preferences)
2. Ir a Docker Engine
En el menú izquierdo, Docker Engine; verás un editor JSON.
3. Modificar el JSON
Añade registry-mirrors (si ya hay otras claves, no olvides la coma):
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io"
],
"otras configuraciones existentes": "sin cambios"
}
4. Aplicar y reiniciar
Pulsa Apply & Restart; Docker reinicia y aplica la config.
Windows (Docker Desktop)
En Windows es casi igual que en macOS.
1. Abrir ajustes
Clic derecho en el icono de Docker en la bandeja → Settings
2. Entrar en Docker Engine
Menú izquierdo → Docker Engine
3. Modificar el JSON
Igual: añade registry-mirrors con el mismo contenido que en macOS.
4. Aplicar y reiniciar
Apply & Restart y espera a que termine el reinicio.
Notas al configurar
- JSON válido. El error más común es una coma de más o de menos; un validador JSON ayuda.
- Quita mirrors muertos. Si aún tienes Alibaba o NetEase en daemon.json, elimínalos.
- Varios de respaldo. Con 2-3 mirrors sube la probabilidad de éxito.
Verificar que la configuración funciona
No tires de docker pull aún: confirma que la config está activa.
Método 1: docker info
Lo más rápido:
docker info | grep -A 5 "Registry Mirrors"
Si todo va bien, verás algo así:
Registry Mirrors:
https://docker.xuanyuan.me/
https://docker.m.daocloud.io/
https://docker.1ms.run/
¿Aparecen tus mirrors? Entonces está aplicado. Si no, revisa el JSON y que Docker se haya reiniciado.
Método 2: pull real
La prueba definitiva es descargar una imagen:
docker pull nginx:latest
nginx es imagen base casi universal; casi todos los mirrors la tienen.
Si funciona, verás la barra de progreso avanzar y en segundos terminar (~100 MB). Comparado con diez minutos de timeout, la diferencia se nota.
En mi prueba con Xuanyuan, nginx pasó de 0 a 100 % en menos de 30 segundos.
¿Sigue lento?
Si tras configurar sigue lento o timeout, no entres en pánico: mira la sección de problemas frecuentes más abajo.
Diagnóstico de problemas frecuentes
Aunque la config sea correcta, a veces aparecen fallos raros. Resumo los que más me han costado.
Problema 1: docker info no muestra mirrors
Síntoma: docker info | grep "Registry Mirrors" no devuelve nada o está vacío.
Causas y soluciones:
-
JSON mal formado — lo más habitual. Un carácter de más rompe todo.
- Usa JSONLint para validar daemon.json.
- Errores típicos: coma tras el último elemento del array o llave sin cerrar.
-
Docker no reiniciado — cambiar el archivo sin reiniciar no aplica.
- Linux:
sudo systemctl restart docker. Docker Desktop: Apply & Restart.
- Linux:
-
Permisos del archivo — Docker no puede leer daemon.json.
sudo chmod 644 /etc/docker/daemon.json
Problema 2: sigue habiendo timeout
Síntoma: docker info muestra mirrors, pero docker pull sigue agotando tiempo.
Causas y soluciones:
-
Imagen fuera de la lista blanca — no todo se acelera.
- Prueba nginx o redis; si esos van, la config está bien. Cambia mirror o usa proxy para el resto.
-
Mirror temporalmente caído — la comunidad puede saturarse o mantener.
- Pon varios mirrors en daemon.json para fallback, o reintenta más tarde.
-
Red local — firewall, proxy o DNS.
ping docker.xuanyuan.mey revisa reglas de firewall.
Problema 3: Docker no arranca tras reiniciar
Síntoma: systemctl restart docker falla y el servicio no levanta.
Causas y soluciones:
- daemon.json roto impide el arranque
- Logs:
journalctl -u docker.service - Emergencia: renombra o borra daemon.json, reinicia y corrige después.
- Logs:
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
sudo systemctl restart docker
Problema 4: imágenes especiales no bajan
Síntoma: nginx y redis van, pero imágenes de proyecto o de otro registry no.
Solución:
- Los aceleradores solo ayudan con imágenes públicas en Docker Hub. Para gcr.io, quay.io o registries privados:
- Proxy HTTP en daemon.json (
http-proxy,https-proxy) - VPN o servicio proxy
- Espejos comunitarios que replican gcr.io (donde existan)
- Proxy HTTP en daemon.json (
Alternativas si nada funciona
- Proxy en Docker — HTTP en daemon.json para salir por proxy.
- Registry privado local — Harbor u otro; sincroniza manualmente lo que necesites.
- Probar en otro horario — a veces es pico de red.
Con calma: localiza en qué paso falla y avanza paso a paso.
Conclusión
Resumen rápido:
Puntos clave:
- Tras el 6 de junio de 2024, mirrors de Alibaba, NetEase, Tencent y similares dejaron de servir en la práctica
- Los que quedan suelen ser comunitarios: Xuanyuan, DaoCloud, etc.
- Configura registry-mirrors en daemon.json y reinicia Docker
- Usa varios mirrors de respaldo
- Ante fallos: JSON, estado del servicio, red
No son tan estables como los de antes, pero salvan el día. No sé cuánto durarán; guarda el repo de GitHub (dongyubin/DockerHub) para listas actualizadas.
Si esto te ayudó con pulls lentos, compártelo con quien esté en la misma. Comenta si te atascas; respondo cuando pueda.
Último apunte: valora estos recursos gratuitos mantenidos por la comunidad; no los abuses.
Tabla de decisión de disponibilidad en 2026
| Escenario | Opción preferida | Alternativa | Criterio |
|---|---|---|---|
| Timeout ocasional en desarrollo personal | 2-3 registry-mirrors comunitarios | Proxy HTTP/HTTPS en el daemon | docker pull nginx:latest estable |
| Pulls frecuentes en CI/CD | pull-through cache privado o Harbor | Cachear imágenes base en artefactos | Sin depender de mirrors públicos volátiles |
| Red corporativa / proxy transparente | Confirmar proxy, certificados y DNS | Luego registry mirror | Que el navegador funcione no implica que el daemon funcione |
| Imagen rara o registry privado | Registry destino + proxy | Sincronizar a repo privado | Mirror público solo para Docker Hub público |
Lecturas relacionadas: hacer observable el problema de imágenes
- Docker Hub: uso y límites (documentación oficial)
- Prueba de velocidad y conmutación automática de mirrors de Docker
- Guía de acceso del contenedor Docker a la red del host
- Gestión y diagnóstico de logs en Docker
Flujo de diagnóstico de mirrors de Docker en 2026
Primero identifica la capa de red; luego elige registry mirror, proxy o caché privada.
⏱️ Estimated time: 5 min
- 1
Step 1: Confirmar la red real del daemon de Docker
Usa docker pull, docker info y systemctl status docker para saber si el problema está en el daemon de Docker, no en el proxy del navegador o de la terminal. - 2
Step 2: Configurar mirror o proxy
En una máquina de desarrollo personal puedes configurar varios registry-mirrors; en red corporativa interna prioriza proxy HTTP/HTTPS para el daemon o un pull-through cache propio. - 3
Step 3: Validar con imágenes reales
Prueba con imágenes públicas como nginx o redis; luego verifica con imágenes de tu proyecto. Si falla una imagen poco usada, no asumas que todos los mirrors están caídos.
FAQ
¿Cómo elegir mirrors de Docker en 2026?
¿Sirve configurar varios registry-mirrors en daemon.json?
¿Cuándo conviene montar un pull-through cache propio?
Si sigue habiendo timeout tras configurar, ¿cómo diagnosticar?
Configuré un mirror pero sigo con límite de tasa o un 429, ¿qué hago?
9 min de lectura · Publicado el: 17 dic 2025 · Actualizado el: 21 ago 2026
Guía práctica de Docker
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
Modos de red Docker en la práctica: guía para elegir entre bridge, host y overlay
Comparación detallada del rendimiento, los casos de uso y la configuración de los tres modos de red Docker, con diagrama de decisión y datos de prueba. Bridge por defecto en un solo host, Host para rendimiento, Overlay para comunicación entre hosts.
Parte 22 de 38
Siguiente
Prueba de velocidad de mirrors Docker: 3 métodos + script de cambio automático
¿Docker pull lento? Esta guía explica 3 métodos de medición de velocidad, incluye scripts automáticos en Shell y Python para configurar el mirror óptimo con un clic y evitar timeouts en docker pull.
Parte 24 de 38



Comentarios
Inicia sesión con GitHub para dejar un comentario