针对你遇到的 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 200401,说明网络完全通畅。
    • 如果依然超时,说明是物理网络或代理问题。
  2. 拉取小镜像测试

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

💡 总结

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

相关推荐
benbenAItalk5 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl5 小时前
Java学习二 基本语法2, 算术运算符
java·学习
niucloud-admin6 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_962885726 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户6 小时前
Java锁
java·开发语言
shehuiyuelaiyuehao8 小时前
1计算机是如何工作的
java·计算机网络
letisgo58 小时前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
水域安全老周8 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
三8449 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
暮雨哀尘9 小时前
Java 基础练习(一):创建类并调用对象
java·开发语言