Ubuntu 24.04部署llama.cpp下载资源一直中断的解决方案

一、问题描述

在使用docker-compose.yml创建llama-cpp容器时,pulling拉取llama.cpp资源总是报错,尝试了好多个镜像地址都提示网络问题。

二、走过的坑

  1. GitHub Container Registry (官方):ghcr.io/ggml-org/llama.cpp:server(下载不了)
  2. Docker Hub:ggml/llama.cpp:server(下载不了)
  3. 南京大学 GHCR 镜像:ghcr.nju.edu.cn/ggml-org/llama.cpp:server(下载不了)

以上是通过配置在docker-compose.yml文件中获取的,结果都宣告失败。

于是,放弃在docker-compose创建容器时下载,可以提前使用docker拉取,于是尝试如下方案:

powershell 复制代码
docker pull ghcr.io/ggml-org/llama.cpp:server

结果每次下载到10M左右就失败了。于是考虑限制多路下载,每次只允许一路下载:

powershell 复制代码
# 创建/编辑 Docker daemon 配置
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "max-concurrent-downloads": 1,
  "registry-mirrors": []
}
EOF

# 重启 Docker 使配置生效
sudo systemctl restart docker

# 重新拉取(失败就重复执行,Docker 会续传已下载的层)
docker pull ghcr.io/ggml-org/llama.cpp:server

这种方式能比直接docker pull拉取强一点点,但不多,尝试下来问题依然一样,下载一段时间后就中断了。

三、终极解决方案

使用 skopeo 替代 docker pull(断点续传更稳):

powershell 复制代码
skopeo copy --retry-times 20   docker://ghcr.io/ggml-org/llama.cpp:server   docker-daemon:ghcr.io/ggml-org/llama.cpp:server

通过这种方式最终搞定,效果如下:

此时,查看docker镜像就能查询到:

powershell 复制代码
docker images #查询指令
                                                                                                    i Info →   U  In Use
IMAGE                               ID             DISK USAGE   CONTENT SIZE   EXTRA
ghcr.io/ggml-org/llama.cpp:server   eabdacc34c4c       1.21GB          311MB

最后,继续执行docker compose up -d创建容器即可,确保docker-compose.yaml中的image地址与下载地址(ghcr.io/ggml-org/llama.cpp:server)保持一致。

相关推荐
LlmCraft|大模型工程实践9 小时前
08. Docker Compose 一键编排:多容器应用的指挥家
java·spring cloud·eureka
视觉小萌新9 小时前
A1——基于AMD-48G显卡下载Gemma4模型
linux·ubuntu
雾隐隐o10 小时前
Docker 镜像归档与容器管理
java·docker·eureka
MSTcheng.12 小时前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统
小小程序员.¥13 小时前
docker基础
云原生·eureka
苏三福1 天前
ubuntu 在文件管理系统中用sftp打开远程文件空白的问题解决
linux·运维·ubuntu
淼澄研学2 天前
英伟达参投Hugging Face,本地部署Llama 3实操指南
llama
Anesthesia丶2 天前
llama-server编译部署+opencode验证记录(Ubuntu, GPU)
ubuntu·opencode·llama-server·qwen3.8-9b
Sunqk56652 天前
将开发板串口连接到Ubuntu后未找到对应的设备文件?
linux·运维·ubuntu
YHHLAI2 天前
TypeScript 面试题:type 与 interface 的区别与相同点
java·ubuntu·typescript