Docker 怎么运行 DeepSeek-R1?用 Ollama 容器持久化模型并验证接口

用 Ollama Docker 容器运行 DeepSeek-R1 7B,通过命名卷持久化模型、回环端口调用接口,并检查重启后的数据。

用 Docker 运行 DeepSeek-R1,可以把 Ollama 服务放在容器中,把模型文件放在独立命名卷里。下面以 deepseek-r1:7b 为例,先走 CPU 路径验证接口,再按需要配置 GPU。容器启动成功只说明进程已启动,仍要检查模型加载、回答和重启后的存储。

准备环境与明确边界

本文命令使用 Bash,适用于已有可用 Docker 的 Linux 主机;Windows 用户可在配置好的 WSL2 环境中运行。先执行 docker version,确认客户端和服务端都能连接,检查 11434 是否已被本机 Ollama 或其他服务占用。

Docker 怎么运行 DeepSeek-R1?用 Ollama 容器持久化模型并验证接口

Ollama 官方 Docker 文档 给出了 CPU 和 GPU 容器启动方式。7B 模型库页面 列出了确切标签;下载大小不能直接当作运行内存需求,主机还要为上下文和系统预留资源。

创建带持久存储的本机服务

docker run -d \
  --name ollama-deepseek \
  -v ollama-deepseek-data:/root/.ollama \
  -p 127.0.0.1:11434:11434 \
  ollama/ollama

docker ps --filter name=ollama-deepseek
docker logs --tail 50 ollama-deepseek

-v 使用命名卷保存模型和配置,-p 只向宿主机回环地址发布端口。其他电脑不能通过宿主机公网地址直接访问这个映射;需要外部访问时,应另行设计认证和访问范围,不要直接把未经保护的本地模型接口暴露给互联网。

如果容器名已经存在,先检查它的镜像、挂载和用途,不要为让命令通过而删除已有容器。演示使用默认镜像标签;需要可复现的环境应在验证后记录实际镜像摘要和 Ollama 版本:

docker inspect --format '{{.Image}}' ollama-deepseek
docker exec ollama-deepseek ollama --version

拉取模型并发出一次非流式请求

docker exec ollama-deepseek ollama pull deepseek-r1:7b
docker exec ollama-deepseek ollama ls

curl --fail-with-body http://127.0.0.1:11434/api/generate \
  -H 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "model": "deepseek-r1:7b",
  "prompt": "只回答一个数字:17 加 25 等于多少?",
  "stream": false
}
JSON

请求字段依据 Generate API。返回应能解析成 JSON,done 为 true,response 有非空内容,实际模型名与目标标签相符。最后核对答案是否为 42;这只是连通与简单生成验证,不代表模型已经适合你的业务。

老版本 curl 若不支持 --fail-with-body,先更新 curl 或改用 --fail;不要把 HTTP 错误正文当成成功回答。CPU 上首次加载或生成可能较慢,先观察容器日志和资源,不凭等待时间猜模型已经坏了。

重启后确认模型仍然存在

docker restart ollama-deepseek
docker exec ollama-deepseek ollama ls
docker inspect --format '{{json .Mounts}}' ollama-deepseek

清单应仍包含完整模型标签,挂载应显示命名卷连接到 /root/.ollama。服务重启后重新发上一条请求;能够回答且未重新下载整个模型,才完成这轮验证。重启容器本身不会删除命名卷;删除卷是另一项会丢失数据的操作,不在这里的步骤中。

需要 GPU 时补哪些条件

NVIDIA 路径要求主机驱动和 NVIDIA Container Toolkit 正确配置,官方文档提供了运行时设置与 --gpus=all 方式。先验证 Docker 能访问 GPU,再配置同样的命名卷和端口映射。不要在 CPU 容器之外直接再启动一个同名、同端口的容器。

AMD、Vulkan 与 NVIDIA 的设备参数不同,应按官方 Docker 页面和实际驱动选择。Ollama FAQ 说明 macOS 的 Docker Desktop 没有这里所需的 GPU 直通路径,不能根据 Mac 上原生 Ollama 能加速就推断容器也能加速。

失败时先看这三处

  • 宿主机端口被占用:检查已有监听服务,选择另一个宿主机端口并同步改 curl 地址。
  • 模型下载失败:看容器日志、网络和命名卷所在磁盘,不要同时启动多个拉取任务。
  • API 可连接但加载失败:保存错误原文,检查内存、驱动与容器设备权限,避免盲目增加上下文或并发。

本文依据 2026 年 10 月 1 日读取的官方文档编写,未在你的 Docker 主机上运行模型。没有提供真实速度或显存实测;实际可运行性以你的主机验证结果为准。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30126.html

赞 (0)
AI小管家的头像AI小管家
Windows 上 DeepSeek 模型存在哪里?用 OLLAMA_MODELS 迁移 Ollama 存储目录
上一篇 1天前
DeepSeek Excel 去重怎么做?按编号保留最新记录并导出复核表
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部