【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
一、前言
为了确保在 Docker 环境中顺利安装并高效运行 Ollama 以及 DeepSeek 离线模型,本文将详细介绍整个过程,涵盖从基础安装到优化配置等各个方面。通过对关键参数和配置的深入理解,您可以更好地掌控资源使用、保障数据安全以及提升整体性能。
二、环境要求
在开始之前,请确认以下环境需求:
-
Docker 安装:确保 Docker 已正确安装并能够正常运行容器。
-
GPU 支持:推荐使用支持 NVIDIA GPU 的环境,以提高模型推理速度。
-
网络连接:部分步骤需要访问互联网以下载镜像或模型文件。
-
存储空间:DeepSeek 模型文件较大,确保有足够的磁盘空间。
-
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