一键部署私人 LLM:Ollama + Docker 极简指南
一键部署私人 LLM:Ollama + Docker 极简指南
10 分钟本地跑起大模型,支持 Windows / Mac / Linux,无需代码基础
前言
想用 GPT-4 级别的大模型,但不想每次都担心隐私泄露、API 费用爆表?
2026 年,在自己电脑上本地跑一个媲美 GPT-3.5 的大模型,已经不是遥不可及的事情了。本文手把手带你用Ollama + Docker两种方式,10 分钟内把大模型跑在本地,全程离线,数据不出门。
为什么选择本地部署?
| 维度 | 云端 API | 本地部署 |
|---|---|---|
| 隐私 | 数据上传第三方服务器 | 完全本地,数据不出门 |
| 费用 | 按 Token 计费,长文本昂贵 | 一次性硬件投入,无运行成本 |
| 响应速度 | 受网络延迟影响 | 本机推理,延迟极低 |
| 稳定性 | 依赖服务商可用性 | 完全自控,断网也能用 |
| 定制化 | 受限于 API 接口 | 可微调、可 RAG 集成 |
核心需求:
- 至少 8GB 内存(16GB 推荐)
- 支持 7B 以下模型不需要独立 GPU
方案一:Ollama(推荐新手)
Ollama 是目前最受欢迎的本地 LLM 运行框架,只需三步就能跑起来。
1. 安装 Ollama
macOS / Linux:
curl-fsSLhttps://ollama.com/install.sh|shWindows:
直接下载安装包:https://ollama.com/download
安装完成后,Ollama 会自动在后台启动服务,监听http://localhost:11434。
2. 拉取并运行模型
# 运行 Qwen2.5-7B(阿里出品,中文效果一流)ollama run qwen2.5:7b# 运行 DeepSeek-R1(推理能力强)ollama run deepseek-r1:7b# 运行 Llama 3.2(Meta 官方,英文最强)ollama run llama3.2# 运行 Phi-4-mini(微软出品,仅 3.8B,速度快)ollama run phi4-mini首次运行会自动下载模型文件,下载完成后直接进入交互界面:
>>> 你好,请介绍一下自己 我是由阿里巴巴开发的 Qwen2.5 大语言模型...3. 常用模型推荐
| 模型 | 大小 | 显存需求 | 适合场景 |
|---|---|---|---|
qwen2.5:7b | 4.7GB | 8GB RAM | 中文对话、代码生成 |
deepseek-r1:7b | 4.7GB | 8GB RAM | 数学推理、逻辑分析 |
llama3.2:3b | 2.0GB | 4GB RAM | 英文对话、快速响应 |
phi4-mini | 2.5GB | 6GB RAM | 通用任务、速度优先 |
qwen2.5:14b | 9.0GB | 16GB RAM | 高质量输出 |
deepseek-r1:32b | 19GB | 24GB RAM(GPU) | 专业推理 |
4. Ollama 常用命令
ollama list# 查看已下载的模型ollamaps# 查看正在运行的模型ollamarmqwen2.5:7b# 删除模型ollama pull llama3.2# 预下载模型(不启动对话)ollama serve# 手动启动 Ollama 服务5. 通过 API 调用(兼容 OpenAI 格式)
Ollama 提供了 OpenAI 兼容 API,可直接替换大多数 SDK:
fromopenaiimportOpenAI client=OpenAI(base_url="http://localhost:11434/v1",api_key="ollama",# 随便填,Ollama 不校验)response=client.chat.completions.create(model="qwen2.5:7b",messages=[{"role":"user","content":"用 Python 写一个快速排序"}])print(response.choices[0].message.content)也可以用 curl 直接调用:
curlhttp://localhost:11434/api/chat-d'{ "model": "qwen2.5:7b", "messages": [{"role": "user", "content": "你好"}], "stream": false }'方案二:Docker 部署 Ollama(生产推荐)
如果你需要在服务器上部署,或者想要更好的资源隔离,Docker 方式更合适。
1. 安装 Docker
# macOS(推荐 Docker Desktop)brewinstall--caskdocker# Linux(Ubuntu/Debian)curl-fsSLhttps://get.docker.com|sh# Windows# 下载 Docker Desktop:https://www.docker.com/products/docker-desktop/2. 启动 Ollama 容器
CPU 版本(无 GPU 也能跑):
dockerrun-d\--nameollama\-p11434:11434\-vollama_data:/root/.ollama\ollama/ollamaNVIDIA GPU 加速版本:
# 先安装 nvidia-container-toolkitsudoapt-getinstall-ynvidia-container-toolkitsudosystemctl restartdocker# 启动带 GPU 的容器dockerrun-d\--nameollama\--gpusall\-p11434:11434\-vollama_data:/root/.ollama\ollama/ollamaApple Silicon (M1/M2/M3) 加速版本:
dockerrun-d\--nameollama\-p11434:11434\-vollama_data:/root/.ollama\ollama/ollama⚠️ Apple Silicon 请直接安装原生 Ollama,性能比 Docker 版本更好。
3. 在容器内拉取模型
# 在容器内执行 pull 命令dockerexec-itollama ollama pull qwen2.5:7b# 或者通过 API 触发下载curlhttp://localhost:11434/api/pull-d'{"name": "qwen2.5:7b"}'4. docker-compose 部署(推荐)
创建docker-compose.yml:
version:'3.8'services:ollama:image:ollama/ollamacontainer_name:ollamarestart:unless-stoppedports:-"11434:11434"volumes:-ollama_data:/root/.ollama# 如果有 NVIDIA GPU,取消注释:# deploy:# resources:# reservations:# devices:# - driver: nvidia# count: all# capabilities: [gpu]open-webui:image:ghcr.io/open-webui/open-webui:maincontainer_name:open-webuirestart:unless-stoppedports:-"3000:8080"environment:-OLLAMA_BASE_URL=http://ollama:11434volumes:-open_webui_data:/app/backend/datadepends_on:-ollamavolumes:ollama_data:open_webui_data:启动:
docker-composeup-d# 查看日志docker-composelogs-f# 进入容器拉取模型dockerexec-itollama ollama pull qwen2.5:7b然后访问http://localhost:3000,就能看到一个 ChatGPT 风格的 Web 界面!
加 Web 界面:Open WebUI
光有命令行太枯燥?Open WebUI 提供了一个完整的 ChatGPT 风格界面,支持多模型切换、对话历史、文件上传等功能。
直接安装(如果已有 Ollama)
dockerrun-d\--nameopen-webui\-p3000:8080\-eOLLAMA_BASE_URL=http://host.docker.internal:11434\-vopen_webui_data:/app/backend/data\--restartalways\ghcr.io/open-webui/open-webui:main访问http://localhost:3000,首次需要注册账号(纯本地,数据存在自己电脑)。
功能亮点:
- ✅ 支持多模型同时对话对比
- ✅ 支持上传 PDF/图片/文档
- ✅ 支持语音输入输出(TTS/STT)
- ✅ 支持 Prompt 模板管理
- ✅ 完整对话历史记录
- ✅ 可接入 OpenAI API(本地 + 云端混用)
进阶:集成到 Python 项目
importrequestsdefchat_with_local_llm(prompt:str,model:str="qwen2.5:7b")->str:"""调用本地 Ollama 模型"""response=requests.post("http://localhost:11434/api/chat",json={"model":model,"messages":[{"role":"user","content":prompt}],"stream":False})returnresponse.json()["message"]["content"]# 使用示例result=chat_with_local_llm("请用 Python 实现一个单例模式")print(result)与 LangChain 集成:
fromlangchain_ollamaimportChatOllama llm=ChatOllama(model="qwen2.5:7b",temperature=0.7)response=llm.invoke("介绍一下 RAG 技术")print(response.content)与 LlamaIndex 集成:
fromllama_index.llms.ollamaimportOllama llm=Ollama(model="qwen2.5:7b",request_timeout=120.0)response=llm.complete("什么是向量数据库?")print(response.text)性能调优技巧
1. 上下文长度配置
# 设置更长的上下文(默认 2048)ollama run qwen2.5:7b --num-ctx8192或者创建自定义 Modelfile:
FROM qwen2.5:7b PARAMETER num_ctx 8192 PARAMETER temperature 0.7 SYSTEM "你是一个专业的编程助手,请用中文回答问题。"ollama create my-qwen-fModelfile ollama run my-qwen2. 并发推理优化
# 设置并发请求数(默认 1)OLLAMA_NUM_PARALLEL=4ollama serve# 模型预加载(保持模型在内存中)OLLAMA_KEEP_ALIVE=24h ollama serve3. GPU 分层加速
当显存不足以完全加载模型时,可以设置部分层在 GPU 运行:
# 通过 API 设置 GPU 层数curlhttp://localhost:11434/api/generate-d'{ "model": "qwen2.5:7b", "prompt": "你好", "options": {"num_gpu": 20} }'常见问题排查
Q:下载速度太慢怎么办?
# 设置镜像加速(国内推荐)exportOLLAMA_MODELS_REGISTRY="https://registry.ollama.ai"# 或者手动指定代理exportHTTPS_PROXY=http://your-proxy:port ollama pull qwen2.5:7bQ:显存不足 / 内存不足?
- 选择更小的模型,如
llama3.2:3b(2GB)或phi4-mini(2.5GB) - 使用
Q4_K_M量化版本(Ollama 默认已使用量化) - 关闭其他占内存的程序
Q:Windows 上运行很慢?
- 推荐安装 WSL2(Windows Subsystem for Linux),在 Linux 环境下运行
- 确保 GPU 驱动最新,安装 CUDA(NVIDIA)或使用 DirectML(AMD/Intel)
Q:如何查看推理速度?
# 查看详细推理信息(包含速度)curlhttp://localhost:11434/api/generate-d'{ "model": "qwen2.5:7b", "prompt": "你好", "stream": false }'|python3-mjson.tool返回字段中eval_rate表示每秒生成的 Token 数。
总结
| 方式 | 适合人群 | 优点 | 缺点 |
|---|---|---|---|
| Ollama 原生 | 个人用户、开发者 | 安装简单,上手快 | 服务管理相对简单 |
| Docker + Ollama | 服务器部署、团队使用 | 隔离性好,易于管理 | 需要了解 Docker |
| Ollama + Open WebUI | 非技术用户 | 图形界面,功能丰富 | 占用资源更多 |
推荐路线:
- 新手:直接安装 Ollama →
ollama run qwen2.5:7b→ 10 分钟跑起来 - 进阶:加上 Open WebUI → 拥有本地 ChatGPT
- 开发者:Docker Compose 一键部署 → 集成到自己项目
本地 LLM 的时代已经来了。你的数据,应该由你自己掌控。
系列文章:AI & 大模型技术实战系列
上一篇:本地跑 LLM 哪家强?Llama / Qwen / DeepSeek 全方位对比
下一篇:RAG 2026 全面升级:从 Naive RAG 到 Agentic RAG
如果这篇文章对你有帮助,欢迎点赞收藏!有问题欢迎评论区交流~
