系统性整理 Ollama 在 Docker 环境下的使用与模型管理,覆盖:
- Ollama 是什么
- 模型从哪里来(官方 Registry / Hugging Face)
- Docker 部署最佳实践
- 模型下载、查看、删除、清理
- 使用 Hugging Face(含 DeepSeek 系列)的正确方式
适用于:
- 本地 / 内网私有化大模型部署
- Docker / DevOps / 后端工程师
- 需要可控、可审计、可离线的 LLM 使用场景
1. Ollama 简介
Ollama 是一个用于在本地或内网运行大语言模型(LLM)的模型运行与管理平台。
可以将它理解为:
LLM 领域的 Docker + OpenAI API 本地替代品
1.1 Ollama 的核心能力
- 本地运行大模型(CPU / GPU / ARM / Apple Silicon)
- 统一的 HTTP API(兼容 OpenAI 风格)
- 自动下载、管理模型
- 支持模型定制(Modelfile)
- 支持 Docker / 内网 / 离线环境
1.2 Ollama 的技术基础
- 底层推理引擎:
llama.cpp - 模型格式:
GGUF - 模型来源:官方 Registry + Hugging Face GGUF
⚠️ Ollama 不直接运行 transformers / safetensors。
2. Ollama 的模型来源机制
2.1 官方模型 Registry
默认使用:
bash
ollama run llama3
模型来源:
text
registry.ollama.ai
特点:
- 官方维护
- 已转 GGUF
- 已量化
- 可直接运行
常见官方模型:
- llama3
- mistral
- qwen / qwen2.5
- mxbai-embed-large(向量模型)
2.2 Hugging Face 模型支持说明
Ollama 只支持 Hugging Face 上的 GGUF 模型。
| Hugging Face 模型类型 | 是否可直接运行 |
|---|---|
| GGUF(量化) | ✅ 支持 |
| safetensors / FP16 | ❌ 不支持 |
使用方式:
bash
ollama run hf.co/<user>/<repo>
3. Docker 部署 Ollama(推荐方式)
3.1 标准启动命令(⚠️ 强烈推荐挂载 volume)
bash
docker run -d \
--name ollama \
-p 11434:11434 \
-v D:\ollama\models:/root/.ollama \
ollama/ollama
说明:
11434:Ollama API 端口/root/.ollama:模型存储目录- 不挂载 volume → 删除容器 = 模型全丢
3.2 进入容器执行 Ollama 命令
bash
docker exec -it ollama ollama <command>
后文所有命令默认加上:
bash
docker exec -it ollama
4. 模型下载与运行
4.1 下载并运行官方模型
bash
docker exec -it ollama ollama run llama3
bash
docker exec -it ollama ollama run mxbai-embed-large
说明:
- 第一次运行会自动下载
- 下载完成后直接进入对话
4.2 从 Hugging Face 下载 GGUF 模型
前提:Hugging Face 仓库中 必须包含 .gguf 文件。
示例:
bash
docker exec -it ollama ollama run hf.co/stevescot1979/Qwen3-VL-Reranker-8B
说明:
- 这是社区转换的 GGUF
- 非官方 Qwen3 原始权重
5. Qwen3 的正确使用说明(重要)
5.1 官方仓库情况
仓库:
text
https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507
特点:
- MoE 架构
- Transformers / safetensors
- 不是 GGUF
❌ 不能直接:
bash
ollama run Qwen/Qwen3-4B-Instruct-2507
5.2 可行方案总结
| 方案 | 描述 | 推荐度 |
|---|---|---|
| 社区 GGUF | 直接 hf.co/... |
⭐⭐⭐⭐ |
| 手动下载 GGUF → create | 可控、离线 | ⭐⭐⭐⭐⭐ |
| 自行转换 safetensors | 难度高 | ⭐ |
6. 模型管理命令大全(重点)
6.1 查看已下载模型
bash
docker exec -it ollama ollama list
示例输出:
text
C:\Users\caimingyang>docker exec -it ollama ollama list
NAME ID SIZE MODIFIED
mxbai-embed-large:latest 468836162de7 669 MB 53 minutes ago
llama3:latest 365c0bd3c000 4.7 GB 55 minutes ago
6.2 查看模型详细信息
bash
docker exec -it ollama ollama show llama3
示例输出:
text
C:\Users\caimingyang>docker exec -it ollama ollama show llama3
Model
architecture llama
parameters 8.0B
context length 8192
embedding length 4096
quantization Q4_0
Capabilities
completion
Parameters
num_keep 24
stop "<|start_header_id|>"
stop "<|end_header_id|>"
stop "<|eot_id|>"
License
META LLAMA 3 COMMUNITY LICENSE AGREEMENT
Meta Llama 3 Version Release Date: April 18, 2024
...
C:\Users\caimingyang>docker exec -it ollama ollama show hf.co/stevescot1979/DeepSeek-V3.2-MXFP4-GGUF:latest
Model
architecture deepseek3_2
parameters 672B
context length 163840
embedding length 7168
quantization unknown
Capabilities
completion
tools
thinking
Parameters
temperature 0.6
top_p 0.95
6.3 删除模型(释放磁盘)
删除单个模型
bash
docker exec -it ollama ollama rm llama3
删除多个模型
bash
docker exec -it ollama ollama rm llama3 mxbai-embed-large
删除所有模型(⚠️ 谨慎)
bash
docker exec -it ollama ollama rm $(docker exec ollama ollama list -q)
6.4 清理残留数据(少见)
bash
docker exec -it ollama ollama prune
7. 查看磁盘占用情况
7.1 查看模型目录大小
bash
docker exec -it ollama du -h --max-depth=1 /root/.ollama
示例输出:
text
C:\Users\caimingyang>docker exec -it ollama du -h --max-depth=1 /root/.ollama
25G /root/.ollama/models
25G /root/.ollama
8.3 运行
bash
C:\Users\caimingyang>docker exec -it ollama ollama run hf.co/unsloth/Qwen3-4B-Instruct-2507-GGUF
示例输出:
text
C:\Users\caimingyang>docker exec -it ollama ollama run hf.co/unsloth/Qwen3-4B-Instruct-2507-GGUF
pulling manifest
pulling 3605803b982c: 100% ▕██████████████████████████████████████████████████████████▏ 2.5 GB
pulling 96078d3bc49c: 100% ▕██████████████████████████████████████████████████████████▏ 1.5 KB
pulling ca914fd65e10: 100% ▕██████████████████████████████████████████████████████████▏ 178 B
pulling f4e70ed5e65b: 100% ▕██████████████████████████████████████████████████████████▏ 551 B
verifying sha256 digest
writing manifest
success
>>> 你是谁?
我是通义千问(Qwen),是阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我可以帮助你回答问题、创作文字、编程
、表达观点等。无论你有什么问题或需要帮助,我都会尽力提供支持!有什么我可以帮到你的吗? 😊
9. 常见最佳实践总结
- ✅ Docker 一定要挂载
/root/.ollama - ✅ 优先使用官方或社区成熟 GGUF
- ✅ 生产环境固定 GGUF + Modelfile
- ❌ 不要期望 Ollama 直接跑 transformers
10. 一句话总结
Ollama = 本地大模型运行与管理平台
Docker + Ollama = 私有化 LLM 的最小可用架构
模型管理核心命令只有:run / list / show / rm / pull