如何解决 Error Get “https://registry-1.docker.io/v2/”: dial tcp xxx.xx.1xx:443: connect: connection timed out
在国内用 Docker 拉镜像,最常见的就是 超时报错。很多同学第一次遇到下面这个错误时一脸懵逼:
Error response from daemon: Get "https://registry-1.docker.io/v2/":
dial tcp xxx.xx.1xx:443: connect: connection timed out
别急,其实这是一个老生常谈的问题,主要原因是 Docker Hub 在国内访问不稳定。今天我就给大家带来一份全套解决方案,让你以后遇到类似问题能快速解决!

文章目录
🔖 一、问题原因
先简单说下导致报错的几大类原因:
-
网络环境问题
- 国内直连 Docker Hub 基本很慢,容易超时。
-
DNS 解析失败
registry-1.docker.io解析不到 IP,或者解析不稳定。
-
代理/防火墙限制
- 有些公司内网拦截了外部 443 端口流量。
-
Docker Daemon 没配置镜像加速
- 默认配置直连 Docker Hub,自然就容易出问题。
🔧 二、解决方案合集
1. 配置国内镜像加速器(推荐!)
这是最有效的办法。直接贴几个可用的源:
- DaoCloud 👉
https://docker.m.daocloud.io - 腾讯云官方镜像 👉
https://mirror.ccs.tencentyun.com - 毫秒镜像(1ms.run) 👉
https://docker.1ms.run - 1Panel(限国内) 👉
https://docker.1panel.live/ - Docker Proxy 👉
https://dockerproxy.net - 轩辕镜像(支持会员加速) 👉
https://docker.xuanyuan.me
配置步骤(Linux):
编辑 Docker 配置文件:
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
添加以下内容(你可以同时写多个源,Docker 会自动选择可用的):
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://mirror.ccs.tencentyun.com",
"https://docker.1ms.run",
"https://dockerproxy.net"
]
}
保存并重启 Docker:
sudo systemctl daemon-reexec
sudo systemctl restart docker
验证是否生效:
docker info | grep "Registry Mirrors"
2. 修改 DNS 服务器
很多时候是 DNS 解析不到 Docker Hub 的 IP,可以改用公共 DNS。
编辑 /etc/resolv.conf:
nameserver 223.5.5.5 # 阿里DNS
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 1.1.1.1
3. 配置代理(适合公司/校园内网)
如果你在公司网络或者有科学上网环境,可以给 Docker 配置代理。
新建配置文件 /etc/systemd/system/docker.service.d/proxy.conf:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890/"
Environment="HTTPS_PROXY=http://127.0.0.1:7890/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
重启 Docker:
sudo systemctl daemon-reexec
sudo systemctl restart docker
4. 使用国内云服务的镜像仓库
如果你经常用一些公共镜像,可以考虑直接用国内云厂商的镜像服务:
- 阿里云 ACR:支持免费加速,速度稳定。
- 华为云 CCE、腾讯云 TCR:类似功能,也支持镜像同步。
5. 建立私有镜像仓库(企业最佳实践)
如果团队里经常需要相同的镜像,建议搭建 Harbor 或 Nexus,在内网里共享,避免重复拉取公网镜像。
📝 三、总结
- 如果是个人开发者:推荐直接用 DaoCloud + 腾讯云源,基本能解决问题。
- 如果是公司环境:优先看能不能配置代理,或者用私有仓库。
- 如果还不行,那就检查 DNS 和防火墙。
一句话总结:配置国内镜像源 + 正确 DNS = 解决 90% 的 Docker 超时问题。
💡 小提示:建议你把常用的镜像加速器配置到 daemon.json,这样以后拉取镜像时不需要再额外设置,省心省力。
3232

被折叠的 条评论
为什么被折叠?



