针对你遇到的 Client.Timeout exceeded 问题,我判断是防火墙拦截了 HTTPS 流量

看到 docker info 的输出,情况非常理想!你的 Docker 已经成功配置了三个国内镜像加速器 ,并且网络层面的测试(ping)也显示基础连接正常。

现在出现的 WARNING 属于系统内核参数优化范畴,不影响你当前拉取镜像。

针对你遇到的 Client.Timeout exceeded 问题,我判断是防火墙拦截了 HTTPS 流量 ,或者是DNS 缓存导致的。请按以下顺序排查:

🔍 核心排查:防火墙与安全组

这是最可能的原因。虽然你能 ping 通(ICMP协议),但 Docker 拉取镜像使用的是 TCP 443 端口 (HTTPS)。请执行以下检查:

检查系统防火墙 (firewalld/iptables)

执行以下命令查看防火墙状态:

复制代码
sudo systemctl status firewalld
# 或者如果是 iptables
sudo iptables -L -n
  • 解决方法 :如果防火墙开启且规则复杂,建议临时关闭防火墙 进行测试:

    复制代码
    sudo systemctl stop firewalld

    然后再执行 docker pull hello-world。如果成功,说明是防火墙规则拦截了 443 端口。

检查云服务器安全组

登录阿里云/腾讯云控制台,检查该服务器的"安全组"规则。

  • 入方向 :必须放行 443 端口(HTTPS)。
  • 出方向 :通常默认允许所有,但如果自定义过,需确保允许访问外部 0.0.0.0/0 的 443 端口。

🛠️ 临时解决方案:修改 DNS

有时候 Linux 的 DNS 解析会出现缓存或配置问题,导致 HTTPS 握手超时。

请修改 Docker 的 DNS 配置,强制使用 Google 的公共 DNS:

复制代码
# 编辑 daemon.json
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "dns": ["8.8.8.8", "8.8.4.4"]
}
EOF

# 重启 Docker
sudo systemctl restart docker

🧪 验证测试

做完上述任一调整后,请务必先验证基础连接,再拉取镜像:

  1. 测试 HTTPS 连接(比 ping 更准确):

    复制代码
    curl -v https://registry-1.docker.io/v2/
    • 如果返回 HTTP/2 200 或 401,说明网络完全通畅。
    • 如果依然超时,说明是物理网络或代理问题。
  2. 拉取小镜像测试:

    复制代码
    docker pull hello-world
    • 如果 hello-world 能拉下来,说明镜像加速器生效了。
    • 如果依然失败,请尝试只保留 ustc(中科大)源,注释掉其他两个,因为中科大源通常对教育网和科研网优化最好。

💡 总结

鉴于你已经配置了加速器且 ping 得通,90% 的概率是服务器本地的 firewalld 防火墙或云平台的"安全组"拦截了 443 端口。请优先检查并放行该端口。

相关推荐
_Evan_Yao6 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd6 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼6 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
thefool1122667 小时前
TCP 1
java·1024程序员节
金銀銅鐵9 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手10 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
paopaokaka_luck11 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_322414280411 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
考虑考虑12 小时前
JDK26的JEP 500属性
java·后端·java ee
LMT流氓兔12 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节