【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
【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

2. 配置Deepseek模型

3. 使用

相关文章:
【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南 一、前言 为了确保在 Docker 环境中顺利安装并高效运行 Ollama 以及 DeepSeek 离线模型,本文将详细介绍整个过程,涵盖从基础安装到优化配置等各个方面。通过对关键参数和配置的深入理解…...
Python 自然语言处理(NLP)和文本挖掘的常规操作过程
Python 自然语言处理(NLP)和文本挖掘 自然语言处理(NLP)和文本挖掘是数据科学中的重要领域,涉及对文本数据的分析和处理。Python 提供了丰富的库和工具,用于执行各种 NLP 和文本挖掘任务。以下是一些常见的…...
传统数组 vs vector和list
传统的数组: int arr[10]; 传统的数组有以下的缺点: 1)长度不可修改 2)内存分配 局部数组:把数组定在函数内, 数组便是局部变量,故会被分配在栈上 但栈的大小是有限制的 ,故其在内存中不能超…...
CRMEB 多商户版v3.0.1源码全开源+PC端+Uniapp前端+搭建教程
一.介绍 crmeb多商户是一套B2B2C商家入驻模式的平台多商户商城系统,系统支持平台自营、联营、招商等多种运营模式,可满足企业新零售、批发、分销、预售、O2O、多店、商铺入驻等各种业务需求。 后端全开源、uniapp多端可编译! 二、搭建教程…...
【ESP32】ESP-IDF开发 | WiFi开发 | HTTPS服务器 + 搭建例程
1. 简介 1.1 HTTPS HTTPS(HyperText Transfer Protocol over Secure Socket Layer),全称安全套接字层超文本传输协议,一般理解为HTTPSSL/TLS,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信…...
Vue2 中使用 UniApp 时,生命周期钩子函数总结
在 Vue2 中使用 UniApp 时,生命周期钩子函数是一个重要的概念。它允许开发者在特定的时间点运行代码,管理组件的生命周期。以下是 Vue2 中 UniApp 常用的生命周期钩子函数总结: 1. beforeCreate 说明: 组件实例刚被创建,此时数据…...
如何在 Vue 3 中使用 Vue Router 和 Vuex
在 Vue 3 中使用 Vue Router 1. 安装 Vue Router 在项目根目录下,通过 npm 或 yarn 安装 Vue Router 4(适用于 Vue 3): npm install vue-router4 # 或者使用 yarn yarn add vue-router42. 创建路由配置文件 在 src 目录下创建…...
Fiori APP配置中的Semantic object 小bug
在配置自开发程序的Fiori Tile时,需要填入Semantic Object。正常来说,是需要通过事务代码/N/UI2/SEMOBJ来提前新建的。 但是在S4 2022中,似乎存在一个bug,即无需新建也能输入自定义的Semantic Object。 如下,当我们任…...
【触想智能】工业显示器和普通显示器的区别以及工业显示器的主要应用领域分析
在现代工业中,工业显示器被广泛应用于各种场景,从监控系统到生产控制,它们在实时数据显示、操作界面和信息传递方面发挥着重要作用。与普通显示器相比,工业显示器在耐用性、可靠性和适应特殊环境的能力上有着显著的差异。 触想工业…...
BPMN.js 与 DeepSeek 集成:打造个性化 Web 培训项目的秘诀
在数字化时代,Web培训项目的需求日益增长,特别是对于程序员群体,他们寻求高效、灵活的方式来提升自己的技能。本文将深入探讨如何评估BPMN.js与DeepSeek集成方案,以满足开发Web培训项目的需求。 BPMN.js 的优势 BPMN.js是一个专…...
第二月:学习 NumPy、Pandas 和 Matplotlib 是数据分析和科学计算的基础
以下是一个为期 **1 个月(30 天)**的详细学习计划,精确到每天的学习内容和练习作业,帮助你系统地掌握 NumPy、Pandas 和 Matplotlib 的核心功能。 第 1 周:NumPy 基础 Day 1:NumPy 简介与数组创建 学习内…...
安全测试|SSRF请求伪造
前言 SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…...
Flink提交pyflink任务
1.官方文档: flink1.14:https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/cli/#submitting-pyflink-jobs flink1.18:https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/cli/#submitting-pyflink-jobs 2.提…...
对称算法模式之CTR
Note 计数器模式,通过加密递增计数器生成密钥流,后密钥流与明文分组异或得密文分组可并行性进行加密或者解密,性能较高明文可以是任意长度,不需要填充可以直接加密或解密指定块,块与块间不具有依赖关系 参数说明 任…...
Map 和 Set
目录 一、搜索 概念: 模型: 二、Map 编辑 1.Map 实例化: 2. Map的常见方法: 3.Map的常见方法演示: 1. put(K key, V value):添加键值对 3. containsKey(Object key):检查键是否存在 4.…...
STOMP协议
引用:https://blog.csdn.net/print_helloword/article/details/142597122 什么是STOMP协议 STOMP (simple text oriented messaging protocol): 一种简单的,基于文本的消息传输协议,,,最初是为了解决在消息队列中&am…...
手动埋点的demo
上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>埋点示例</title> </head><b…...
大模型开发实战篇5:多模态--文生图模型API
大模型文生图是一种基于人工智能大模型的技术,能够将自然语言文本描述转化为对应的图像。目前非常火的AI大模型赛道,有很多公司在此赛道竞争。详情可看这篇文章。 今天我们来看下如何调用WebAPI来实现文生图功能。我们一般都会将OpenAI的接口࿰…...
【大模型】DeepSeek 高级提示词技巧使用详解
目录 一、前言 二、DeepSeek 通用提示词技巧 2.1 DeepSeek 通用提示词技巧总结 三、DeepSeek 进阶使用技巧 3.1 DeepSeek一个特定角色的人设 3.1.1 为DeepSeek设置角色操作案例一 3.1.2 为DeepSeek设置角色操作案例二 3.2 DeepSeek开放人设升级 3.2.1 特殊的人设&#…...
【第14章:神经符号集成与可解释AI—14.2 可解释AI技术:LIME、SHAP等的实现与应用案例】
在这里插入图片描述 凌晨三点的ICU病房,值班医生李主任盯着AI辅助诊断系统的红色警报——这套准确率高达95%的深度学习系统,突然建议对一位肾衰竭患者进行肝移植手术。正当医疗组陷入混乱时,李主任打开了系统的"解释模式",屏幕上立即跳出SHAP分析图:模型误将CT…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
