Docker + Ollama 大模型管理

系统性整理 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

相关推荐
小钱c72 小时前
记录一次WSL修改networkingMode导致Docker端口无法访问的问题
运维·docker·容器
Hui Baby2 小时前
K8S CCM简介
云原生·容器·kubernetes
懒人村杂货铺2 小时前
从 Permission Denied 到 404:Docker 多容器下图片上传与静态资源服务全解
docker·fastapi
星环处相逢2 小时前
Kubernetes PV 与 PVC 深度解析:从基础存储到动态部署实战
云原生·容器·kubernetes
战南诚2 小时前
docker拉取nginx镜像失败(m4/arm64架构)
docker
ζั͡山 ั͡有扶苏 ั͡✾3 小时前
K8s 集群内存压力检测和智能 Pod 驱逐工具
云原生·容器·kubernetes
腾讯数据架构师3 小时前
k8s兼容昆仑芯p800
人工智能·云原生·容器·kubernetes·cube-studio·昆仑芯
阿杰 AJie3 小时前
Docker 常用指令和使用方法
docker·容器·eureka
风一样的男子&3 小时前
kylin桌面版v10安装docker和k8s
docker·kubernetes·kylin