news 2026/5/14 6:21:10

解决腾讯云服务器上 Git 克隆超时与 Docker 镜像拉取失败问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决腾讯云服务器上 Git 克隆超时与 Docker 镜像拉取失败问题

背景

近日在腾讯云服务器(Ubuntu 22.04)上部署开源项目new-api时,遇到了两个典型问题:

  1. 使用git clone从 GitHub 拉取代码时,出现RPC failed: curl 56 Recv failure: Connection timed out错误,导致克隆中断。

  2. 使用docker-compose up -d启动服务时,Docker 无法拉取redis:latest等基础镜像,先后遇到i/o timeoutno such host403 Forbiddencontent size of zero以及 Docker 服务启动失败等一连串报错。

经过多次尝试,最终使用腾讯云官方镜像加速器https://mirror.ccs.tencentyun.com彻底解决了 Docker 拉取问题。本文将完整记录排查过程和解决方案,供遇到类似问题的开发者参考。

环境信息

  • 云服务商:腾讯云(CVM)

  • 操作系统:Ubuntu 22.04

  • Docker 版本:20.10 以上(使用系统包管理器安装)

  • 目标项目:QuantumNous/new-api

第一部分:Git 克隆超时问题

现象

bash

sudo git clone https://github.com/QuantumNous/new-api.git Cloning into 'new-api'... remote: Enumerating objects: 51072, done. remote: Counting objects: 100% (155/155), done. remote: Compressing objects: 100% (93/93), done. error: RPC failed: curl 56 Recv failure: Connection timed out error: 1116 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet fatal: early EOF fatal: fetch-pack: invalid index-pack output

原因分析

  • 仓库较大(超过 5 万个对象),国内直连 GitHub 网络不稳定,导致数据传输超时。

  • 默认的 Git 缓冲区大小不足。

解决方案

方案一:浅克隆(推荐,快速有效)

bash

git clone --depth 1 https://github.com/QuantumNous/new-api.git

只拉取最近一次提交,大幅减少数据量。后续如需完整历史,可执行git fetch --unshallow

方案二:增大 Git 缓冲区

bash

git config --global http.postBuffer 524288000 # 500MB git clone https://github.com/QuantumNous/new-api.git
方案三:使用 SSH 协议(需配置 SSH 密钥)

bash

git clone git@github.com:QuantumNous/new-api.git

最终采用浅克隆成功拉取代码。


第二部分:Docker 镜像拉取失败

现象演变

  1. 初次运行sudo docker-compose up -d时,拉取 redis 镜像出现:

    text

    ERROR: failed to resolve reference ...: dial tcp 31.13.67.41:443: i/o timeout
  2. 配置国内镜像加速器(如中科大、网易、百度云)后,出现:

    • no such host(域名无法解析)

    • 403 Forbidden(镜像源拒绝访问)

    • content size of zero: invalid argument(返回空数据)

  3. 修改配置后,Docker 服务无法启动:

    text

    Active: failed (Result: exit-code) Start request repeated too quickly.
  4. 最终使用腾讯云官方镜像加速器才成功:

    bash

    sudo docker pull redis:latest # 拉取成功 sudo docker-compose up -d # 服务正常启动

逐步排查与解决过程

1. 配置国内通用镜像加速器(失败)

编辑/etc/docker/daemon.json

json

{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

重启 Docker:sudo systemctl restart docker

遇到的问题

  • mirror.baidubce.com域名无法解析 →no such host

  • 中科大、网易源偶尔超时或返回403

  • 南京大学源 (docker.nju.edu.cn) 返回403 Forbidden

2. 镜像源导致 Docker 服务启动失败

daemon.json格式错误(例如多余逗号、引号不匹配)或镜像源地址无效时,Docker 服务会崩溃。

排查命令

bash

sudo journalctl -u docker.service -n 50 --no-pager

解决方法:先恢复最小配置,确保 Docker 能启动。

bash

echo '{}' | sudo tee /etc/docker/daemon.json sudo systemctl restart docker
3. 最终成功方案:使用腾讯云官方镜像加速器

对于腾讯云服务器,最优选择是使用腾讯云内网镜像加速器:

bash

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://mirror.ccs.tencentyun.com"] } EOF sudo systemctl restart docker

验证配置

bash

sudo docker info | grep -A 5 "Registry Mirrors"

输出应包含你配置的地址。

拉取测试

bash

sudo docker pull redis:latest sudo docker-compose up -d

所有镜像均成功拉取,服务正常启动。

为什么腾讯云镜像能成功?

  • 腾讯云为同地域服务器提供了内网加速器,无需经过公网,速度快且稳定。

  • 该镜像站由腾讯云官方维护,兼容性良好,不存在403no such host问题。

经验总结与建议

  1. Git 克隆大型仓库

    • 优先使用--depth 1浅克隆。

    • 必要时增大http.postBuffer

    • 配置 SSH 密钥可提高稳定性。

  2. Docker 镜像拉取

    • 在云服务器上,优先使用云厂商提供的官方镜像加速器(如腾讯云mirror.ccs.tencentyun.com、阿里云*.mirror.aliyuncs.com)。

    • 避免盲目填写网上搜来的公共镜像源,很多已失效或限流。

    • 修改daemon.json后务必检查 JSON 格式(可用cat -n或在线校验工具)。

    • 若 Docker 服务无法启动,先用journalctl查看日志,恢复空配置再逐步添加。

  3. 网络问题排查流程

    • 先确认能否 ping 通外网(ping 8.8.8.8)。

    • 再检查 DNS 解析(nslookup docker.io)。

    • 最后针对具体工具(git/docker)调整配置或使用代理。

结语

国内访问 GitHub 和 Docker Hub 时,网络问题时有发生。通过合理的浅克隆、配置云厂商镜像加速器,大多数问题都能解决。希望本文的记录能帮助到同样在腾讯云上部署服务的开发者。

相关命令速查表

场景命令
浅克隆git clone --depth 1 <repo_url>
Docker 配置镜像sudo tee /etc/docker/daemon.json <<<'...'
重启 Dockersudo systemctl restart docker
查看 Docker 日志sudo journalctl -u docker -n 50
清理 Docker 缓存sudo docker system prune -a -f

如果这篇文章对你有帮助,欢迎点赞、收藏、转发~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 6:18:23

终极CAN总线分析利器:Cangaroo完全配置与深度使用指南

终极CAN总线分析利器&#xff1a;Cangaroo完全配置与深度使用指南 【免费下载链接】cangaroo Open source can bus analyzer software - with support for CANable / CANable2, CANFD, and other new features 项目地址: https://gitcode.com/gh_mirrors/ca/cangaroo Ca…

作者头像 李华
网站建设 2026/5/14 6:11:16

构建支持多模型切换的智能内容审核与打标系统

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 构建支持多模型切换的智能内容审核与打标系统 在用户生成内容平台中&#xff0c;视频、图文等内容的审核与分类打标是核心运营环节…

作者头像 李华
网站建设 2026/5/14 6:09:05

ARM架构缓存维护指令详解与应用实践

1. ARM架构缓存维护指令概述在ARM架构的处理器设计中&#xff0c;缓存维护指令是实现高效内存管理的关键组件。这些指令允许开发者直接控制处理器的缓存行为&#xff0c;确保数据在不同执行上下文和硬件组件之间保持一致性。现代ARM处理器通常采用多级缓存架构&#xff0c;包括…

作者头像 李华