
llama.cpp Docker部署一條命令跑通本地推理服務【免費下載鏈接】llama.cppLLM inference in C/C項目地址: https://gitcode.com/GitHub_Trending/ll/llama.cppllama.cpp 是一個用純 C/C 實現的本地大模型推理引擎把它的 llama-server 裝進 Docker 之后你就得到一個開箱即用的容器化推理服務模型文件留在宿主機上掛載進容器OpenAI 兼容接口立刻可以調用宿主機不用裝任何 Python 環境。誰適合用這套方案想在自己的服務器或工作站上跑開源模型又不想被編譯依賴弄臟系統環境給應用提供一個/v1/chat/completions兼容接口且目標就是單機單卡或純 CPU需要可復制的推理環境同一份鏡像加同一組參數換臺機器照樣起如果你的目標是多機分布式推理或大規模自動擴縮容llama.cpp 并不是合適的選型它的設計定位是單機、單模型、單服務。 快速上手5 分鐘看到效果最短路徑是用官方 server 鏡像跑 CPU 版容器里只有 llama-server 可執行文件模型不拷進鏡像而是用卷掛載的方式放進去。mkdir -p ~/llama/models # GGUF 模型文件放這里 docker run -d --name llama-server -p 8080:8080 \ -v ~/llama/models:/models \ ghcr.io/ggml-org/llama.cpp:server \ -m /models/model-q4_k_m.gguf \ --host 0.0.0.0 -c 4096這條命令做了四件事把容器 8080 端口映射到宿主機、掛載模型目錄、加載模型、以 4096 上下文啟動 HTTP 服務。啟動日志里出現服務就緒字樣后就可以往下走驗證環節了。整體流程如下環境要求與準備項目建議值說明Docker20.10宿主機上正常運行內存8GB 起7B 級 Q4_K_M 模型約占 6GB 內存磁盤20GB存 GGUF 文件幾個 G 到幾十個 G 不等NVIDIA 環境驅動 容器工具包僅 GPU 加速場景需要目錄規劃記住兩條模型放在便于掛載的目錄如~/llama/models并確認容器用戶對該目錄有讀權限。模型可以是 GGUF 官方量化產物也可以用 convert_hf_to_gguf.py 從 Hugging Face 權重自行轉換。分場景部署? 純 CPU把快速上手的命令換一行寫全就是 CPU 版完整配置。生成慢的時候顯式把-t設成物理核心數通常比默認自動探測更好docker run -d --name llama-cpu -p 8080:8080 -v ~/llama/models:/models ghcr.io/ggml-org/llama.cpp:server -m /models/model-q4_k_m.gguf --host 0.0.0.0 -t 8 GPU 加速NVIDIA先在宿主機裝好 nvidia-container-toolkit安裝步驟見 NVIDIA 官方文檔再用docker run --rm --gpus all nvidia/cuda nvidia-smi確認容器內能看到卡。然后換server-cuda鏡像并加上--gpus alldocker run -d --name llama-cuda --gpus all \ -p 8080:8080 -v ~/llama/models:/models \ ghcr.io/ggml-org/llama.cpp:server-cuda \ -m /models/model-q4_k_m.gguf \ --host 0.0.0.0 --n-gpu-layers 99--n-gpu-layers 99的意思是盡量多地把層放到 GPU 上顯存不夠時 llama.cpp 會自動回退到 CPU。AMD 顯卡把鏡像換成-rocm后綴即可Intel 核顯可用-intelSYCL變體完整鏡像清單見 docs/docker.md。 生產環境docker compose 固定配置要長期運行的服務建議把參數鎖進 compose 文件重啟策略、GPU 資源預留、健康檢查都寫在文件里。官方鏡像支持用LLAMA_ARG_*環境變量傳參命令行一個參數都不用敲。services: llama-server: image: ghcr.io/ggml-org/llama.cpp:server-cuda restart: unless-stopped ports: [8080:8080] volumes: [./models:/models, ./logs:/app/logs] environment: LLAMA_ARG_MODEL: /models/model-q4_k_m.gguf LLAMA_ARG_HOST: 0.0.0.0 LLAMA_ARG_CTX_SIZE: 8192 deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] healthcheck: test: [CMD, curl, -f, http://localhost:8080/health] interval: 30sdocker compose up -d即可。需要多實例時起多個容器映射不同端口、前面掛一層反向代理就夠了不必額外引入編排層。驗證跑通與首次調用先用一條命令確認服務活著再發一次真實生成請求curl -s http://localhost:8080/health # 期望返回 {status:ok} curl -s http://localhost:8080/completion -d {prompt:一句話解釋 Docker,n_predict:40}第二條命令返回帶content字段的 JSON說明 llama.cpp 容器化推理服務已經跑通。另外 llama-server 自帶 Web UI瀏覽器直接打開http://localhost:8080就能試聊適合做冒煙測試。?? 參數調優與進階推理的核心計算是大量矩陣乘法量化檔位和 GPU 卸載策略直接決定速度與顯存占用參數建議值一句話說明--n-gpu-layers99盡量全放 GPU不夠自動回退-c上下文4096~8192KV 緩存內存隨上下文近似線性增長-t線程物理核心數CPU 部署時顯式指定-b/-ub512批越大提示詞處理越快-fa ononFlash Attention 省顯存量化檔位Q4_K_M精度與體積的平衡點常見問題現象可能原因處理辦法啟動提示找不到模型掛載路徑寫錯或文件沒就位docker exec -it llama-server ls /models核對容器內看不到 GPU宿主機未裝容器工具包安裝 nvidia-container-toolkit 后重啟 Docker生成中途 OOM上下文過大或量化檔位偏高調小-c或換更小的量化版本端口被占用8080 已被其他服務占用把映射改成8081:8080再啟動CPU 上生成慢線程數不足-t設為物理核心數或遷到 GPU 部署收個尾llama.cpp 的 Docker 部署把模型 推理服務打包成一份可復制的鏡像新機器上一條docker run就能立刻獲得 OpenAI 兼容的推理接口。鏡像與參數細節可查 docs/docker.md服務端的完整參數列表和 API 說明在 tools/server/ 目錄里。【免費下載鏈接】llama.cppLLM inference in C/C項目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考