发布时间:2026/8/28 12:02:34
llama.cpp Docker 部署完整指南:三步搭起本地大模型推理服务 llama.cpp Docker 部署完整指南三步搭起本地大模型推理服务【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp手动编译 llama.cpp 要装 cmake、CUDA Toolkit、一摞依赖库换台机器全来一遍环境不一致、迁移麻烦是本地部署最耗时的部分。llama.cpp Docker 部署把整套推理栈打进了一个镜像同一条命令测试机和生产机跑出来的行为完全一致模型像 U 盘一样挂进去就能出词。本文带你从 CPU 裸跑一路走到生产级容器化推理镜像选型、GPU 加速、Compose 编排、API 接入、故障排查全覆盖。部署前速览一张表查清环境要求和镜像选型看完这节你能判断手头这台机器够不够跑该拉哪个镜像 tag。硬件底线以 7–8B Q4 量化模型为基准项目最低要求说明内存8 GB模型权重约 4–5 GB上下文 KV 缓存另占 1–3 GB磁盘20 GB 起一个 8B GGUF 约 5 GB留空间放多个量化版本CPU4 核以上建议 8 核线程数-t对齐物理核心NVIDIA GPU驱动 470 nvidia-container-toolkit显存 8 GB 起步AMD GPUAMDGPU 内核驱动 ROCm 主机库server-rocm镜像仅linux/amd64软件Docker Engine 20.10无需宿主机预装任何 C 依赖镜像怎么选官方提供full/light/server三个功能档位再叠加加速后缀。CPU 三档同时支持linux/amd64、linux/arm64、linux/s390x。Tag 后缀内容适合谁server仅llama-server可执行文件只要 HTTP 推理服务本文主线server-cuda/server-cuda13CUDA 12 / 13 编译NVIDIA 显卡server-rocmROCm 编译AMD 显卡server-vulkan/server-intel/server-musa对应后端编译其他 GPU 路线full推理工具 模型转换/量化全套需要自己把 HF 模型转 GGUFlight仅llama-cli/llama-completion命令行轻量实验一个细节server镜像内置HEALTHCHECKcurl /health默认入口就是/app/llama-server且预置LLAMA_ARG_HOST0.0.0.0——容器起来默认监听所有网卡你只需要关心模型和端口。更多细节可看项目里的 docs/docker.md。三步跑通第一个推理服务CPU 版看完这节能得到一个在http://localhost:18080上可用的推理接口。全程 CPU不碰 GPU。Step 1模型落盘准备目录结构模型统一放modelsmkdir -p ~/llama-stack/{models,logs,config}如果你手上只有 HuggingFace 原始权重用full镜像一次完成转换 量化容器内自带全部 Python 转换脚本docker run -v ~/llama-stack/models:/models \ ghcr.io/ggml-org/llama.cpp:full \ /app/convert_hf_to_gguf.py /host/path/to/hf-model \ --outtype q4_k_m -o /models/qwen3-8b-q4_k_m.gguf已有现成 GGUF 文件的直接丢进~/llama-stack/models/即可跳过这一步。Step 2启动容器docker run -d --name infer-core \ -p 18080:8080 \ -v ~/llama-stack/models:/models \ ghcr.io/ggml-org/llama.cpp:server \ -m /models/qwen3-8b-q4_k_m.gguf \ -c 8192 \ -t 8参数说明-p 18080:8080把宿主机 18080 映射到容器固定端口 8080-c 8192上下文长度-t 8CPU 生成线程数建议等于物理核心数。模型文件通过卷挂载插入容器宿主机换模型不用重建镜像。Step 3验证接口curl -s http://localhost:18080/health # 期望输出 {status: ok} curl -s http://localhost:18080/v1/models # 应看到刚加载的模型名/health是公开端点不校验任何密钥后面写健康检查直接复用。让 GPU 真正干活NVIDIA 与 AMD 两条路线这节解决两个问题容器里怎么看到显卡以及--n-gpu-layers到底填多少。先装 NVIDIA 容器工具链宿主机已装好 NVIDIA 驱动的前提下把nvidia-container-toolkit装上并重启 Dockersudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtimedocker sudo systemctl restart docker一行验证驱动是否穿透到容器docker run --rm --gpus all ghcr.io/nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi能看到显卡型号就通了。然后拉 CUDA 版镜像跑服务docker run -d --name infer-gpu \ --gpus all \ -p 18080:8080 \ -v ~/llama-stack/models:/models \ ghcr.io/ggml-org/llama.cpp:server-cuda \ -m /models/qwen3-8b-q4_k_m.gguf \ -c 8192 \ --n-gpu-layers -1--n-gpu-layers -1表示能塞进显存的层全部塞进去这是最省事的写法。也可以填具体层数配合--tensor-split 12,12把层切到多张卡上。GPU 层数怎么配显存对照表把--n-gpu-layers理解成分给显卡的工位模型有多少层你就可以决定前几层坐在 GPU 上剩下的留在 CPU。显存装不下的层会被自动挪回 CPU不会崩但速度掉得厉害。模型规模Q4_K_M权重大小建议显存建议配置7–8B约 4.5 GB8 GB全部层进 GPU余量给 KV 缓存14B约 8.5 GB12–16 GB全层或留最后 2–4 层在 CPU32B约 20 GB24 GB 单卡全层上下文别开太大70B约 40 GB2×24 GB双卡 --tensor-split注意显存 权重 KV 缓存。8192 上下文的 KV 缓存可能再吃 1–2 GB按权重 2 GB 缓冲来估比较稳。AMD ROCm 路线ROCm 需要手动把设备节点挂进容器标准四件套是--device /dev/kfd、--device /dev/dri、--group-add video、--ipchostdocker run -d --name infer-rocm \ --device /dev/kfd --device /dev/dri \ --group-add video --ipchost \ -p 18081:8080 \ -v ~/llama-stack/models:/models \ ghcr.io/ggml-org/llama.cpp:server-rocm \ -m /models/qwen3-8b-q4_k_m.gguf \ -c 8192 \ --n-gpu-layers -1AMD 显卡层数分配逻辑与 NVIDIA 相同看显存定层数即可。生产级编排一份完整的 docker-compose 配置这节给你一份可直接落盘的docker-compose.yml环境变量驱动、带健康检查、限制 GPU 资源、挂 Prometheus 采集指标。第一段推理服务本体./models只读挂载防容器内误写services: llama-infer: image: ghcr.io/ggml-org/llama.cpp:server-cuda container_name: llama-infer restart: unless-stopped ports: - 18080:8080 volumes: - ./models:/models:ro - ./logs:/app/logs environment: LLAMA_ARG_MODEL: /models/qwen3-8b-q4_k_m.gguf LLAMA_ARG_CTX_SIZE: 8192 LLAMA_ARG_N_GPU_LAYERS: -1 LLAMA_ARG_THREADS: 8 LLAMA_ARG_ENDPOINT_METRICS: 1 # 打开 /metrics 端点 healthcheck: test: [CMD, curl, -f, http://localhost:8080/health] interval: 30s timeout: 5s retries: 3 deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]健康检查直接打/health模型没加载完时它返回 503Docker 会自动标记 unhealthy 并配合restart: unless-stopped拉起来。deploy.resources.reservations.devices把 GPU 数量钉死成 1 张防止调度歧义。第二段指标采集prometheus: image: prom/prometheus:latest ports: - 9091:9090 volumes: - ./config/prometheus.yml:/etc/prometheus/prometheus.yml depends_on: - llama-inferconfig/prometheus.yml指向容器服务名即可scrape_configs: - job_name: llama-infer metrics_path: /metrics static_configs: - targets: [llama-infer:8080]/metrics输出 Prometheus 格式指标前提是上面开了LLAMA_ARG_ENDPOINT_METRICS。常用环境变量速查环境变量等价参数作用LLAMA_ARG_MODEL-mGGUF 路径LLAMA_ARG_CTX_SIZE-c上下文长度LLAMA_ARG_N_GPU_LAYERS--n-gpu-layersGPU 层数-1为全量LLAMA_ARG_THREADS--threadsCPU 线程数LLAMA_ARG_ENDPOINT_METRICS--metrics开启指标端点LLAMA_API_KEY--api-key鉴权密钥逗号分隔多个环境变量与命令行参数等价好处是镜像、命令不变只改 compose 就能换模型、换上下文重跑docker compose up -d生效。接入你的应用API 三种玩法服务起来后你的应用有三种方式消费它按需选择。普通补全一次拿到完整结果curl -s http://localhost:18080/completion \ -H Content-Type: application/json \ -d { prompt: 请用三句话概括 KV 缓存的作用\n, n_predict: 128, temperature: 0.3 }流式输出边生成边打印请求体加stream: true响应变成逐行的 NDJSON每行一个content片段最后一行done: truecurl -sN http://localhost:18080/completion \ -H Content-Type: application/json \ -d {prompt: 写一个 docker 健康检查的要点,stream:true,n_predict:64}-N关掉 curl 缓冲前端体验上就是打字机效果。OpenAI 兼容接口存量代码零改造curl -s http://localhost:18080/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3-8b, messages: [ {role: user, content: 一句话解释什么是上下文窗口} ], max_tokens: 80 }只要你的代码走 OpenAI SDK把 base_url 指到http://宿主机:18080/v1其余参数几乎原样可用——这是接入成本最低的一条路。运维速查常见故障与日志排查出问题时按现象 → 先查什么对号入座能省掉一半定位时间。现象先查这里容器秒退日志报模型加载失败挂载路径对不对docker exec llama-infer ls /models有 GPU 却全在 CPU 上算是否加了--gpus all/ 工具链是否装好docker logs llama-infer \| grep -i cudaCUDA out of memory降-c、降--n-gpu-layers、换更低量化位宽启动报bind: address already in uselsof -i:18080找出占端口的进程/health返回 503模型还在加载或上下文耗尽稍等重试请求卡住后超时提示词超过-c限制或服务线程被打满看/metrics里队列指标排查命令四件套docker logs --tail 200 -f llama-infer # 跟踪最新日志 docker logs llama-infer 21 | grep -iE error|fail|CUDA docker stats llama-infer --no-stream # 看一眼 CPU / 内存 / 显存快照 curl -s http://localhost:18080/metrics | head # 采集到的指标头几行想看 GPU 到底吃进去多少层启动日志里有offloaded XX/YY layers to GPU数一下就知道分配结果。加固与横向扩展密钥、网络隔离与负载均衡服务要对内网或公网开放前先做三件事上密钥、关直连、能扩容。API 密钥server镜像支持--api-key可逗号分隔配多个。/health保持公开其余端点必须带Authorization: Bearer keydocker run -d --name infer-secure \ -e LLAMA_API_KEYsk-demo-001,sk-demo-002 \ -p 18080:8080 \ -v ~/llama-stack/models:/models \ ghcr.io/ggml-org/llama.cpp:server \ -m /models/qwen3-8b-q4_k_m.gguf curl -s http://localhost:18080/v1/models \ -H Authorization: Bearer sk-demo-001多客户端场景建议把密钥放文件里用--api-key-file环境变量LLAMA_ARG_API_KEY_FILE挂载进容器避免密钥进 compose 文件被提交进版本库。网络隔离推理容器不直接暴露端口统一走网关。给 compose 加一个内部网络networks: infer-net: internal: true # 容器无出网能力 services: llama-infer: networks: [infer-net] # ports 段删掉只允许内网访问 gateway: image: nginx:alpine ports: - 443:443 networks: [infer-net]internal: true意味着即使配置失误容器也连不出去只能从网关进来。TLS、限流都压在 nginx 层。横向扩展GPU 服务扩容就是多副本 轮询。两个实例跑在不同宿主机/端口nginx upstream 里写两个后端即可CPU 场景甚至可以在一台 8 卡机上起多个实例分卡。另一条路是官方镜像内置的 router 模式设LLAMA_ARG_MODELS_DIR指向模型目录一个 server 进程同时加载多个模型LLAMA_ARG_MODELS_MAX控制上限省掉多容器编排。收尾容器化推理换来的东西环境一致性镜像即环境编译、驱动封装全在镜像里换机器零配置模型即插即拔换 GGUF 只改挂载不动镜像GPU 按需开关server和server-cuda只差一个 tagCPU 调试、GPU 生产随意切可观测/health、/metrics开箱可用接 Prometheus 只要三行配置可复制compose 文件进版本库扩容就是docker compose up多几台llama.cpp 的镜像矩阵还在持续扩张Vulkan、OpenVino、SYCL……容器化部署这套打法可以原样平移到每一种后端上。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/28 12:02:34

trackerslist 上手指南:78 个公共 Tracker 让 BT 下载加速

trackerslist 上手指南:78 个公共 Tracker 让 BT 下载加速 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist trackerslist 每天自动检测并维护一份包含 78 个公共…

2026/8/28 12:53:08

RK3399 SBC扩展实战:40-pin GPIO与M.2接口选型配置指南

RK3399这颗SoC在单板计算机圈子里算是老将了,但直到今天,市面上依然不断有搭载它的SBC新品出现。原因很简单:双Cortex-A72加四Cortex-A53的六核架构,放在千元级以下的开发板上,性能依旧能打;再加上原生PCIe…

2026/8/28 12:53:08

美赛论文Word公式排版全攻略:从输入到自动编号的高效实践

1. 项目概述:为什么美赛论文的公式编辑是胜负手? 搞过美赛的朋友都知道,那96小时不光是和数学建模、编程死磕,最后那篇20多页的英文论文才是真正的“临门一脚”。而这篇论文里,最直观体现你专业性和严谨性的&#xff0…

2026/8/28 12:53:08

低管秩张量补全:跨集中采样下的ADMM频域SVT鲁棒求解方法

当数据采集的观测位置不再是“均匀随机”时,很多经典的补全算法会突然失效。最近在跟进低管秩张量补全(low-tubal-rank tensor completion)相关工作的时候,我发现一个很容易被忽略、却又非常贴合真实业务的设定:cross-…

2026/8/28 12:53:08

基于Unity3D的工业数字孪生平台构建:从卫星车间可视化到VR交互

简介:数字孪生作为连接物理世界与数字空间的核心技术,其原理在于通过数据驱动,在虚拟环境中构建物理实体的实时动态映射。这项技术的核心价值在于实现设计验证、过程仿真与预测性维护,广泛应用于智能制造、智慧城市及复杂装备运维…

2026/8/28 12:48:06

3.10 C++实战100例——逗号表达式:结果是最右侧表达式,可读性差

3.10 C++实战100例——逗号表达式:结果是最右侧表达式,可读性差 一句话方向 —— 用汇编和 AST 查看命令证明逗号表达式的左操作数被丢弃、右操作数为结果,并给出 Clang Tidy 拦截和 -Wcomma 警告命令消除隐式依赖 总纲和5篇免费文章分流 C++ 踩坑排雷手册 总纲目录与逻…

2026/8/26 9:13:28

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/27 10:58:22

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/27 7:46:21

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 0:00:34

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]

2026年国内高校毕业论文审核体系全面升级,重复率查重AIGC人工智能检测双检机制正式常态化落地,多所高校明确执行“双项一票否决”制度,重复率超标或AI生成痕迹不达标,均直接取消答辩资格。随着抽检力度加大、学术规范要求升级&…

2026/8/28 0:00:34

凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析

2026年论文双检内卷严重,市面上AI论文工具层出不穷,但大多只是单一功能凑数、模板化严重、双检高风险、套路收费。 在一众同质化工具里,Paperxie能长期稳居行业顶流、成为应届生公认毕业神器,从来不是靠营销,而是靠实…

2026/8/28 0:00:34

2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

2026高校论文查重AIGC双检严查常态化。 市面上绝大多数AI论文工具依旧存在明显短板:模板感重、AI痕迹超标、改写毁逻辑、收费套路多、查重不准、格式适配差。 在全网工具普遍“偏科”的现状下,Paperxie凭借全维度均衡实力脱颖而出,成为适配…

2026/8/26 19:34:06

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/26 19:17:08

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…