Guia de mirrors do Docker na China em 2026: resolva o timeout no pull em 5 minutos

Atualização de 2026-06: este artigo foi recalibrado com base na documentação oficial do Docker sobre limites de uso do Docker Hub e pull-through cache. A recomendação atual já não é apostar cegamente em um único mirror público. Primeiro identifique a camada de rede e, então, escolha entre um mirror comunitário, um proxy HTTP e um cache na rede interna da empresa. Há ainda uma mudança fácil de ignorar: desde 1º de abril de 2025, o Docker Hub aplica limites de taxa aos pulls — 10 por hora para cada IP sem login e 100 por hora após o login em uma conta gratuita. Portanto, se a falha for um erro 429, e não um timeout, faça primeiro docker login em vez de correr para trocar de mirror.
Na sexta-feira passada, às três da tarde, fiquei olhando para o comando docker pull nginx:latest no terminal. O cursor piscou por dez minutos inteiros antes de devolver um enorme i/o timeout em vermelho. Para ser sincero, não foi a primeira vez. Desde junho daquele ano, isso vinha acontecendo com cada vez mais frequência: a internet parecia normal, as páginas abriam rapidamente no navegador, mas as imagens do Docker simplesmente não eram baixadas.
Depois de consultar vários tutoriais, percebi que os mirrors recomendados da Alibaba Cloud e da NetEase continuavam sem funcionar mesmo após a configuração. Só mais tarde descobri que, em 6 de junho de 2024, quase todos os aceleradores de imagens do Docker na China deixaram de operar: serviços da Alibaba Cloud, Tencent Cloud, Baidu Cloud e de várias universidades foram encerrados ou passaram a aceitar apenas acessos pelas respectivas redes internas.
Talvez você também conheça esta sensação: encontrar vários tutoriais de 2023 que prometem uma “solução perfeita para downloads lentos de imagens do Docker”, configurar o daemon.json conforme as instruções, reiniciar o Docker e executar docker pull novamente cheio de esperança — para receber outro timeout. É realmente frustrante.
A boa notícia é que alguns mirrors mantidos pela comunidade continuam ativos e funcionaram nos meus testes. Neste artigo, mostro quais mirrors do Docker ainda estavam disponíveis em dezembro de 2025, como configurar o daemon.json e como investigar os problemas mais comuns. Vamos direto ao ponto.
Por que tantos mirrors do Docker deixaram de funcionar?
Antes de falar das soluções, vale explicar o que aconteceu. Afinal, um mirror da Alibaba Cloud que funcionava bem não ficaria indisponível do nada.
O dia 6 de junho de 2024 foi um divisor de águas. A partir dessa data, quase todos os principais serviços de aceleração de imagens do Docker Hub na China anunciaram o encerramento ou a restrição do acesso. Os mirrors de gigantes como Alibaba Cloud, NetEase, Tencent Cloud e Baidu Cloud praticamente deixaram de funcionar da noite para o dia. Serviços mantidos por universidades, como a Universidade de Nanjing, a Universidade Jiao Tong de Xangai e a Universidade de Ciência e Tecnologia da China, também foram desativados ou passaram a aceitar apenas acessos da rede do campus.
Para ser sincero, fiquei bastante surpreso quando vi a notícia. Esses mirrors vinham sendo usados havia anos e, de repente, desapareceram. Mais tarde, entendi que havia uma combinação de pressão regulatória e custos: de um lado, questões de conformidade; de outro, o custo considerável de manter um serviço de aceleração altamente disponível.
Hoje, ao acessar esses endereços antigos, você provavelmente recebe um erro 404 ou um timeout de conexão. Se o seu daemon.json ainda contém registry.cn-hangzhou.aliyuncs.com ou hub-mirror.c.163.com, essa configuração, na prática, não serve para nada.
E a conexão direta com o Docker Hub? Tecnicamente, ela é possível. Mas, nas condições de rede da China, o acesso direto pode ser extremamente lento. Baixar uma imagem de algumas centenas de megabytes pode levar mais de meia hora, e timeouts são frequentes.
Mirrors que ainda funcionavam em dezembro de 2025
Não se preocupe. Embora os serviços das grandes empresas tenham saído do ar, algumas comunidades e pessoas continuam mantendo gratuitamente aceleradores de imagens do Docker. Testei várias opções e reuni abaixo os mirrors que ainda funcionavam em dezembro de 2025.
Lista de mirrors disponíveis
| Nome do mirror | Endereço | Observação |
|---|---|---|
| Xuanyuan Mirror (gratuito) | https://docker.xuanyuan.me | Mantido pela comunidade, gratuito e com bom tempo de resposta |
| Xuanyuan Mirror (profissional) | https://xuanyuan.cloud | Exige login e oferece uma velocidade mais estável |
| DaoCloud | https://docker.m.daocloud.io | Mirror tradicional e relativamente estável |
| 1ms.run | https://docker.1ms.run | Mantido pela comunidade |
| 1panel | https://docker.1panel.live | Mantido pela comunidade |
| rat.dev | https://hub.rat.dev | Mantido pela comunidade |
| aigc2d | https://docker-mirror.aigc2d.com | Mantido pela comunidade |
Minha principal recomendação: nos meus testes, Xuanyuan Mirror e DaoCloud foram relativamente estáveis. A versão gratuita do Xuanyuan, em docker.xuanyuan.me, já ofereceu uma boa velocidade. Se você precisar de um serviço mais estável, pode testar a versão profissional mediante cadastro.
Alguns cuidados ao usar esses serviços
-
Todos eles são mantidos pela comunidade com recursos próprios. Ao contrário dos antigos serviços da Alibaba Cloud e da Tencent Cloud, não contam com o respaldo de uma grande empresa e podem sair do ar a qualquer momento. Use-os com responsabilidade e não abuse.
-
Nem todas as imagens são aceleradas. Alguns mirrors oferecem apenas imagens-base populares, como nginx, mysql e redis, ou impõem uma lista de permissões. Se uma imagem pouco conhecida apresentar timeout, isso não significa necessariamente que o mirror esteja com problema. Tente outro mirror ou uma conexão direta com o Docker Hub.
-
Configure vários mirrors. O daemon.json aceita vários registry-mirrors, e o Docker os tentará em sequência. Se o primeiro falhar, ele poderá recorrer automaticamente ao segundo, aumentando a chance de sucesso.
Esses endereços foram encontrados no projeto dongyubin/DockerHub no GitHub. O repositório atualiza continuamente a lista de mirrors disponíveis, por isso vale a pena salvá-lo nos favoritos.
Como configurar o arquivo daemon.json passo a passo
Com os endereços dos mirrors em mãos, chega a hora da configuração. O processo é simples: altere um arquivo JSON e reinicie o serviço do Docker. Veja como fazer isso nos três principais sistemas.
Linux, o caso mais comum
A maioria dos servidores e das máquinas de desenvolvimento usa Linux, por isso este é o cenário mais importante.
1. Crie ou edite o arquivo de configuração
O arquivo fica em /etc/docker/daemon.json. Se ele não existir, crie-o.
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
2. Adicione a configuração
Copie o JSON abaixo. Incluí três mirrors como alternativas:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
]
}
Salve e saia. No editor vi, pressione ESC, digite :wq e pressione Enter.
3. Reinicie o serviço do Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
O primeiro comando recarrega a configuração do systemd; o segundo reinicia o Docker. É necessário executar os dois para que a configuração entre em vigor.
macOS com Docker Desktop
No Mac, o Docker Desktop oferece uma interface gráfica para essa configuração, o que torna o processo mais simples.
1. Abra as configurações do Docker Desktop
Clique no ícone do Docker na barra de menus e selecione Settings, ou Preferences.
2. Abra a configuração do Docker Engine
No menu à esquerda, selecione Docker Engine. Você verá um editor de JSON.
3. Altere a configuração JSON
Adicione o campo registry-mirrors ao JSON. Se já houver outras configurações, lembre-se de incluir a vírgula necessária:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io"
],
"outras configurações existentes": "mantenha sem alterações"
}
4. Aplique e reinicie
Clique no botão Apply & Restart, no canto inferior direito. O Docker será reiniciado e aplicará automaticamente a configuração.
Windows com Docker Desktop
No Windows, o procedimento é praticamente igual ao do macOS e também usa a interface gráfica do Docker Desktop.
1. Abra as configurações
Clique com o botão direito no ícone do Docker na barra de tarefas e selecione Settings.
2. Acesse o Docker Engine
No menu à esquerda, selecione Docker Engine.
3. Altere a configuração JSON
Adicione o campo registry-mirrors, com a mesma configuração usada no macOS.
4. Aplique e reinicie
Clique em Apply & Restart e aguarde a reinicialização do Docker.
Cuidados com a configuração
- O formato JSON precisa estar correto. O erro mais comum é incluir ou esquecer uma vírgula. Vale validar o formato em uma ferramenta própria para JSON.
- Não configure mirrors que já deixaram de funcionar. Se o seu daemon.json ainda contém endereços da Alibaba Cloud ou da NetEase, remova-os, pois já não funcionam.
- Inclua algumas alternativas. Como um único mirror pode ser instável, configurar duas ou três opções aumenta a chance de sucesso.
Como verificar se a configuração entrou em vigor
Depois de configurar, não comece imediatamente a baixar imagens. Primeiro confira se a alteração entrou em vigor. Assim, se houver algum erro, você poderá corrigi-lo antes de continuar.
Método 1: consulte com docker info
A forma mais rápida de verificar é executar docker info e localizar a linha Registry Mirrors.
docker info | grep -A 5 "Registry Mirrors"
Se a configuração estiver correta, você verá uma saída semelhante a esta:
Registry Mirrors:
https://docker.xuanyuan.me/
https://docker.m.daocloud.io/
https://docker.1ms.run/
Os endereços configurados aparecem na saída? Se sim, a configuração já está ativa. Caso contrário, confira o formato do daemon.json e verifique se o serviço do Docker foi reiniciado.
Método 2: teste baixando uma imagem
Não basta olhar a configuração. Baixe uma imagem de verdade para avaliar a velocidade.
docker pull nginx:latest
O nginx é uma boa opção porque é uma das imagens-base mais usadas e está disponível em praticamente todos os mirrors.
Se tudo estiver funcionando, você verá o progresso avançar e o download terminará em dezenas de segundos. A imagem do nginx tem pouco mais de 100 MB. Em comparação com um timeout depois de dez minutos, a diferença é enorme.
No meu teste, o Xuanyuan Mirror levou menos de 30 segundos para baixar o nginx de 0 a 100%, um resultado bastante bom.
E se continuar muito lento?
Se a velocidade continuar baixa ou ainda ocorrer um timeout, não se preocupe. Confira a seção de diagnóstico abaixo.
Diagnóstico de problemas comuns
Mesmo com uma configuração correta, alguns problemas estranhos ainda podem surgir. Reuni aqui os contratempos que encontrei e as respectivas soluções para ajudar você a economizar tempo.
Problema 1: os mirrors não aparecem no docker info
Sintoma: o comando docker info | grep "Registry Mirrors" não mostra nada ou exibe uma lista vazia.
Possíveis causas e soluções:
-
Erro de formato no daemon.json — esta é a causa mais comum. O JSON é rigoroso: uma vírgula ou aspas a mais ou a menos já invalidam o arquivo.
- Solução: use uma ferramenta como JSONLint para conferir o formato do daemon.json.
- Erros comuns: vírgula depois do último item de um array ou chave de fechamento ausente.
-
O serviço do Docker não foi reiniciado — as mudanças no arquivo de configuração só entram em vigor após a reinicialização.
- Solução: no Linux, execute
sudo systemctl restart docker. No Docker Desktop, clique em Apply & Restart.
- Solução: no Linux, execute
-
Problema de permissão no arquivo — se as permissões do daemon.json estiverem incorretas, o Docker não conseguirá lê-lo.
- Solução: execute
sudo chmod 644 /etc/docker/daemon.jsonpara ajustar as permissões.
- Solução: execute
Problema 2: o timeout continua depois da configuração
Sintoma: o docker info confirma a configuração dos mirrors, mas o docker pull ainda expira.
Possíveis causas e soluções:
-
A imagem não está na lista permitida pelo acelerador — como já vimos, nem todas as imagens podem ser aceleradas.
- Solução: teste uma imagem popular, como nginx ou redis. Se o download funcionar, a configuração está correta; tente outro mirror ou use um proxy para a outra imagem.
-
O mirror está temporariamente indisponível — serviços mantidos pela comunidade podem ficar fora do ar durante manutenção ou em períodos de tráfego intenso.
- Solução: configure vários mirrors no daemon.json para que o Docker possa recorrer a outra opção. Você também pode aguardar e tentar novamente.
-
Problema na rede local — firewall, configurações de proxy e resolução DNS também podem causar falhas.
- Solução: execute
ping docker.xuanyuan.mepara verificar a conectividade e confira as regras do firewall.
- Solução: execute
Problema 3: o serviço do Docker não reinicia
Sintoma: depois de executar systemctl restart docker, aparece um erro e o Docker não inicia.
Possíveis causas e soluções:
- Um erro no daemon.json impediu a inicialização do Docker — um JSON inválido faz o serviço falhar ao iniciar.
- Solução: consulte os logs do Docker com
journalctl -u docker.servicee localize a mensagem de erro. - Medida emergencial: renomeie ou remova temporariamente o daemon.json, reinicie o Docker para restaurar o serviço e depois investigue a configuração com calma.
- Solução: consulte os logs do Docker com
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
sudo systemctl restart docker
Problema 4: algumas imagens específicas não são baixadas
Sintoma: imagens populares, como nginx e redis, funcionam, mas uma imagem privada de algum projeto ou uma imagem hospedada em outro registry não é baixada.
Soluções:
- Os aceleradores funcionam apenas para imagens públicas do Docker Hub. Se a imagem estiver em um registry privado, como gcr.io ou quay.io, o acelerador não ajudará.
- Nesse caso, considere estas opções:
- Configure um proxy HTTP: adicione
http-proxyehttps-proxyao daemon.json. - Use uma VPN ou um serviço de proxy.
- Procure um serviço local de espelhamento de imagens. Algumas comunidades replicam imagens do gcr.io.
- Configure um proxy HTTP: adicione
Alternativas para quando nada mais funciona
Se você já tentou tudo acima e ainda não conseguiu resolver, considere estas alternativas:
- Use um proxy para o Docker — configure um proxy HTTP no daemon.json para que o Docker acesse a internet por ele.
- Crie um registry privado local — use uma ferramenta como Harbor para manter um repositório privado e sincronize manualmente as imagens necessárias.
- Tente em outro horário — em alguns casos, o problema ocorre no horário de pico da rede e desaparece mais tarde.
Se houver um problema, mantenha a calma e identifique em qual etapa ele ocorre. Investigando uma parte de cada vez, você provavelmente encontrará a solução.
Conclusão
Com isso, cobrimos os principais pontos. Em resumo:
Pontos essenciais:
- Depois de 6 de junho de 2024, os principais mirrors do Docker na China, incluindo Alibaba Cloud, NetEase e Tencent Cloud, deixaram de funcionar.
- Os mirrors que ainda funcionavam eram principalmente mantidos pela comunidade, como Xuanyuan Mirror e DaoCloud.
- Para configurá-los, altere o daemon.json, adicione registry-mirrors e reinicie o Docker.
- Configure vários mirrors como alternativas para aumentar a taxa de sucesso.
- Ao encontrar um problema, confira primeiro o formato JSON, o estado do serviço do Docker e a conexão de rede.
Embora esses mirrors comunitários não sejam tão estáveis quanto os serviços das grandes empresas, ao menos resolvem uma necessidade imediata. Não sei por quanto tempo continuarão funcionando, por isso recomendo salvar o projeto dongyubin/DockerHub, que atualiza continuamente a lista de mirrors disponíveis.
Se este artigo ajudou você a resolver a lentidão no download de imagens do Docker, compartilhe-o com outras pessoas que enfrentam o mesmo problema. Se tiver alguma dúvida, deixe um comentário. Responderei quando puder.
E um último lembrete: valorize esses recursos gratuitos, mantidos pela comunidade com recursos próprios, e não abuse deles. Manter esse tipo de serviço não é fácil.
Tabela de decisão de disponibilidade para 2026
| Cenário | Solução principal | Alternativa | Critério de avaliação |
|---|---|---|---|
| Timeout ocasional em uma máquina pessoal de desenvolvimento | Configure 2 ou 3 registry-mirrors comunitários | Configure um proxy HTTP/HTTPS para o daemon do Docker | docker pull nginx:latest termina de forma consistente |
| Downloads frequentes em CI/CD | Pull-through cache privado ou Harbor | Armazene imagens-base em um repositório de artefatos | Não depende de mirrors públicos que podem mudar a qualquer momento |
| Rede corporativa ou proxy transparente | Confirme primeiro o proxy, os certificados e o DNS | Depois, configure um registry mirror | O navegador conseguir acessar não significa que o daemon do Docker também consiga |
| Imagem pouco popular ou registry privado | Conexão direta com o registry de destino por meio de um proxy | Sincronização manual para um registry privado | Mirrors públicos servem apenas para imagens públicas do Docker Hub |
Leitura complementar: transforme problemas com imagens em um processo observável
- Documentação oficial sobre uso e limites do Docker Hub
- Teste de velocidade e troca automática de mirrors do Docker
- Guia de acesso à rede do host no Docker
- Gerenciamento e diagnóstico de logs do Docker
Fluxo de diagnóstico de mirrors do Docker em 2026
Primeiro identifique a camada de rede e, depois, escolha entre um registry mirror, um proxy ou um cache privado.
⏱️ Estimated time: 5 min
- 1
Step 1: Confirme a rede real do daemon do Docker
Use docker pull, docker info e systemctl status docker para determinar se o problema está no daemon do Docker, e não no proxy do navegador ou do terminal. - 2
Step 2: Configure um mirror ou proxy
Em uma máquina pessoal de desenvolvimento, você pode configurar vários registry-mirrors; em uma rede corporativa, priorize um proxy HTTP/HTTPS para o daemon do Docker ou um pull-through cache próprio. - 3
Step 3: Valide com imagens reais
Teste imagens públicas como nginx e redis e, em seguida, confirme com a imagem do seu projeto. Se uma imagem menos popular falhar, não conclua que todos os mirrors estão fora do ar.
FAQ
Como escolher um mirror do Docker em 2026?
Vale a pena configurar vários registry-mirrors no daemon.json?
Quando devo criar meu próprio pull-through cache?
Como investigar um timeout mesmo depois da configuração?
O que fazer se ainda houver limite de taxa e erro 429 após configurar um mirror?
13 min de leitura · Publicado em: 17 dez 2025 · Atualizado em: 4 set 2026
Guia prático Docker
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Como acessar o host a partir de um contêiner Docker: guia completo do host.docker.internal
O localhost não conecta o contêiner aos serviços do host? Veja como usar host.docker.internal no macOS, Windows e Linux, com configurações práticas e um checklist completo de diagnóstico.
Parte 21 de 34
Próximo
Guia completo para implantar Redis com Docker: persistência e autenticação por senha sem perda de dados
Aprenda passo a passo a implantar Redis com Docker, configurar persistência RDB/AOF e autenticação por senha, evitar a perda de dados ao reiniciar o contêiner e preparar o ambiente para produção.
Parte 23 de 34



Comentários
Entre com GitHub para comentar