当前位置: 首页 > news >正文

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

【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)低资源设备部署(如树莓派、旧款笔记本)
    实时文本生成(聊天机器人、简单问答)
    嵌入式系统或物联网设备
    7B8 核以上(推荐现代多核 CPU)16GB+8GB+8GB显存(如RTX 3070/4060)本地开发测试(中小型企业)
    中等复杂度NLP任务(文本摘要、翻译)
    轻量级多轮对话系统
    8B与7B相近,略高10%-20%与7B相近,略高10%-20%-与7B相近,略高10%-20%需更高精度的轻量级任务(如代码生成、逻辑推理)
    14B12核以上32GB+15GB+16GB显存(如RTX 4090或A5000)企业级复杂任务(合同分析、报告生成)
    长文本理解与生成(书籍/论文辅助写作)
    32B16核以上(如AMD Ryzen 9或Intel i9)64GB+30GB+24GB显存(如A100 40GB或双卡RTX 3090)高精度专业领域任务(医疗/法律咨询)
    多模态任务预处理(需结合其他框架)
    70B32核以上(服务器级CPU)128GB+70GB+多卡并行(如2x A100 80GB或4x RTX 4090)科研机构/大型企业(金融预测、大规模数据分析)
    高复杂度生成任务(创意写作、算法设计)
    671B64核以上(服务器集群)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. 使用

在这里插入图片描述

相关文章:

  • SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
  • 如何优雅地使用全局标志位
  • servlet中的ServletContext
  • 【D2】神经网络初步学习
  • dfs深度优先搜索—邻接矩阵 + 邻接矩阵-递归版 + 邻接表
  • 基于Flask的茶叶销售数据可视化分析系统设计与实现
  • 一. vue2和vue3的Proxy底层源码详细拆解
  • Kepware的OPC UA配置深入介绍
  • C++ 中将类的定义和实现都放在头文件中的优缺点分析
  • 【20250215】二叉树:94.二叉树的中序遍历
  • 深入理解Elasticsearch集群与分片:原理及配置方案
  • 【硬件设计细节】缓冲驱动器使用注意事项
  • Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
  • Git 本地项目上传 GitHub 全指南(SSH Token 两种上传方式详细讲解)
  • 代码随想录刷题攻略---动态规划---子序列问题1---子序列
  • 计算机视觉+Numpy和OpenCV入门
  • Plaid | 数据库切换历程:从 AWS Aurora MySQL 到 TiDB 的迁移之旅
  • ⚡️《静电刺客的猎杀手册:芯片世界里的“千伏惊魂“》⚡️
  • LeetCodehot 力扣热题100 从前序与中序遍历序列构造二叉树
  • 尚硅谷课程【笔记】——大数据之Hadoop【一】
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 李公明谈“全球南方”与美术馆
  • 英国首相斯塔默住所起火,警方紧急调查情况
  • 体坛联播|巴萨4比3打服皇马,利物浦2比2战平阿森纳
  • 中美经贸中方牵头人、国务院副总理何立峰出席新闻发布会表示:中美达成重要共识,会谈取得实质性进展
  • 多省市已开展现房销售试点,去年全国现房销售面积占比超30%