一步一步排查:

  1. 确认网络连通性
    curl -v https://registry-1.docker.io/v2/
    看是否能够连通。如果卡住、超时或者报错,说明问题是网络层的问题。
  2. 是否被代理、GFW 阻断?
    如果你在中国大陆,访问 Docker Hub 很可能是被墙了。

✅ 解决办法:配置镜像加速器
编辑 /etc/docker/daemon.json,添加如下内容:

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
或者用阿里云/网易的镜像加速器,比如:

{
"registry-mirrors": ["https://<你的阿里云ID>.mirror.aliyuncs.com"]
}
然后重启 Docker:

sudo systemctl daemon-reexec
sudo systemctl restart docker

  1. 测试 DNS 是否正常解析
    nslookup registry-1.docker.io
    或者:
    dig registry-1.docker.io
    如果没有 IP 地址返回,说明 DNS 配置可能有问题。

✅ 解决方法:设置公共 DNS
编辑 Docker 的 DNS 配置 /etc/docker/daemon.json:
{
"dns": ["8.8.8.8", "1.1.1.1"]
}
然后重启 Docker。

  1. 测试是否能 ping Docker Hub
    ping registry-1.docker.io
    注意: 一些 Docker Hub 域名不响应 ping,这是正常的,但如果出现 Network is unreachable 或者 Name or service not known,就说明网络或 DNS 出问题。
  2. 尝试登录
    docker login
    可以规避匿名用户被限速的情况。
  3. 确认系统时间正确
    系统时间不对可能导致 TLS 握手失败:

如不正确可同步:

sudo ntpdate time.windows.com

  1. 如果仍不行
    你也可以尝试国内镜像服务,比如:

阿里云容器镜像服务(可免费申请)
网易云镜像加速器
DaoCloud 镜像加速器

标签: none

添加新评论