【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南

一、前言

为了确保在 Docker 环境中顺利安装并高效运行 Ollama 以及 DeepSeek 离线模型,本文将详细介绍整个过程,涵盖从基础安装到优化配置等各个方面。通过对关键参数和配置的深入理解,您可以更好地掌控资源使用、保障数据安全以及提升整体性能。

二、环境要求

在开始之前,请确认以下环境需求:

  1. Docker 安装:确保 Docker 已正确安装并能够正常运行容器。

  2. GPU 支持:推荐使用支持 NVIDIA GPU 的环境,以提高模型推理速度。

  3. 网络连接:部分步骤需要访问互联网以下载镜像或模型文件。

  4. 存储空间:DeepSeek 模型文件较大,确保有足够的磁盘空间。

  5. DeepSeek模型:DeepSeek-R1版本的硬件需求和适用场景:

    模型版本 CPU需求 内存需求 硬盘需求 显卡需求 适用场景
    1.5B 最低 4 核 8GB+ 3GB+ 非必需(纯 CPU 推理),若 GPU 加速可选 4GB+ 显存(如 GTX 1650) 低资源设备部署(如树莓派、旧款笔记本)
    实时文本生成(聊天机器人、简单问答)
    嵌入式系统或物联网设备
    7B 8 核以上(推荐现代多核 CPU) 16GB+ 8GB+ 8GB显存(如RTX 3070/4060) 本地开发测试(中小型企业)
    中等复杂度NLP任务(文本摘要、翻译)
    轻量级多轮对话系统
    8B 与7B相近,略高10%-20% 与7B相近,略高10%-20% - 与7B相近,略高10%-20% 需更高精度的轻量级任务(如代码生成、逻辑推理)
    14B 12核以上 32GB+ 15GB+ 16GB显存(如RTX 4090或A5000) 企业级复杂任务(合同分析、报告生成)
    长文本理解与生成(书籍/论文辅助写作)
    32B 16核以上(如AMD Ryzen 9或Intel i9) 64GB+ 30GB+ 24GB显存(如A100 40GB或双卡RTX 3090) 高精度专业领域任务(医疗/法律咨询)
    多模态任务预处理(需结合其他框架)
    70B 32核以上(服务器级CPU) 128GB+ 70GB+ 多卡并行(如2x A100 80GB或4x RTX 4090) 科研机构/大型企业(金融预测、大规模数据分析)
    高复杂度生成任务(创意写作、算法设计)
    671B 64核以上(服务器集群) 512GB+ 300GB+ 多节点分布式训练(如8x A100/H100) 国家级/超大规模AI研究(如气候建模、基因组分析)
    通用人工智能(AGI)探索

三、Ollama 容器详细安装与配置

1. 运行ollama容器

docker run -d --name ollama \
  --gpus=all \
  --oom-kill-disable \ # 防止因内存不足导致容器被杀死
  -m 8g \              # 为容器分配4GB内存(可根据需要调整)
  -c 2 \               # 分配2个CPU核心(可根据需要调整)
  -p 11434:11434 \
  -v /path/to/ollama/config:/root/.ollama/config \
  -v /path/to/ollama/models:/root/.ollama/models \
  -v /path/to/ollama/logs:/root/.ollama/logs \
  -e OLLAMA_ORIGINS="*"
  -e OLLAMA_PORT=11434 \
  -e OLLAMA_HOST=0.0.0.0 \
  -e OLLAMA_ORIGINS="http://localhost,http://your-domain.com" \
  -e LOG_LEVEL=INFO \
  ollama/ollama:latest

参数详解:

  • --gpus=all:允许容器使用主机上的所有可用的GPU资源,以加速DeepSeek模型的推理。
  • --oom-kill-disable:防止在内存不足导致容器被杀死,这对于长时间运行或处理大型任务尤为重要。
  • -m 8g:为容器分配4GB(示例值)的内存。根据您的可用资源和DeepSeek模型的大小进行适当调整,较大的模型可能需要更多内存。
  • -c 2:分配2个CPU核心,如果模型推理主要依赖于CPU,这能确保容器获得足够的计算能力。
  • -p 11434:11434:将主机的11434端口映射到容器内的11434端口,方便外部访问Ollama服务。
  • 卷挂载(Volumes)
    • /path/to/ollama/config:/root/.ollama/config:将配置文件目录挂载到主机对应位置,确保配置持久化,不会因容器重启或删除而丢失。
    • /path/to/ollama/models:/root/.ollama/models:模型文件持久化存储在主机上,避免每次下载并节省时间。
    • /path/to/ollama/logs:/root/.ollama/logs:日志文件持久保存,便于长期监控和故障排查。
  • 环境变量(Environment Variables)
    • OLLAMA_ORIGINS="*":允许所有来源访问 Ollama API。
    • OLLAMA_PORT=11434:指定Ollama服务监听的端口号,需与映射端口一致。
    • OLLAMA_HOST=0.0.0.0:允许容器内服务绑定到所有网络接口,这样可以在不同主机和网络环境下访问。
    • OLLAMA_ORIGINS="http://localhost,http://your-domain.com":设置可信的请求来源,提升安全性,防止CSRF攻击。请将your-domain.com替换为实际使用域名或IP地址。
    • LOG_LEVEL=INFO:调整日志输出级别,便于监控和调试。

2. 进入ollama

# 进入ollama容器
docker exec -it ollama /bin/bash
# 查看帮助
ollama --help

在这里插入图片描述

四、Deepseek模型部署与运行

1. 下载运行模型

ollama pull deepseek-r1:7b

在这里插入图片描述

2. 运行deepseek模型

ollama run deepseek-r1:7b

在这里插入图片描述

3. 测试是否成功

# ollama访问IP和端口
curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-r1:70b",
  "prompt":"你好"
}'

在这里插入图片描述

五、Cherry Studio交互界面

1. 下载Cherry Studio

Cherry Studio

在这里插入图片描述

2. 配置Deepseek模型

在这里插入图片描述

3. 使用

在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐