使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker

这里建议用docker来部署,方便简单
安装教程需要自己找详细的,会用到跳过
如果你没有安装 Docker,可以按照以下步骤安装:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce

安装完 Docker 后,确认 Docker 是否安装成功:

sudo docker --version

2、运行 Ollama 容器

1、安装运行Ollama

Ollama 提供了 Docker 镜像,你可以使用以下命令拉取最新版本的 Ollama 镜像:

sudo docker pull ollama/ollama

拉取镜像后,可以启动 Ollama 容器,这个命令会启动 Ollama 容器并在后台运行。

sudo docker run -d --name ollama-container ollama/ollama

为了能直接在外部访问到,可以将端口挂载到宿主机上(推荐)

sudo docker run -d --name ollama-container -p 11434:11434 ollama/ollama

查看 Ollama 容器的运行状态:

sudo docker ps

如果容器在运行,你会看到 ollama-container 在列表中。

拉取deepseek模型

直接在宿主机操作Ollama容器即可这个过程会比较慢,需要耐心等待

由于CDN资源下发的合理优化,后期经常下载艰难,当下载缓慢时,可以使用ctrl + c 打断,然后重新执行下载,这样可以快一点点,详见下面的博客

https://blog.csdn.net/cy21951612/article/details/145513664

进入 Ollama 容器
如果你需要进入正在运行的 Ollama 容器,可以使用:

sudo docker exec -it ollama-container bash

执行拉取模型命令

ollama run deepseek-r1:1.5b

拉取完成即可进行命令行对话
在这里插入图片描述

2、查看拉取模型进度

方法 1:使用 docker logs 查看拉取进度

docker logs -f ollama-container

✅ 作用:

  • -f 让日志实时输出,可以看到 ollama pull 的下载进度。
  • 如果 ollama pull deepseek-r1:1.5b 仍在进行,你应该能看到进度条或者下载状态。

如果你想只看最近的日志,可以用:

docker logs --tail 50 ollama-container

这样只显示最新 50 行日志。

方法 2:进入 ollama-container 检查

docker exec -it ollama-container sh

然后在容器内部执行:

ps aux | grep ollama

✅ 作用:
你可以看到 ollama pull 是否仍在运行,或者是否已经完成。
例如,如果 ollama pull 正在运行,你会看到类似:

root       12  0.0  0.1  50000  5000 ?        S    12:00   0:02 ollama pull deepseek-r1:1.5b

如果你已经在容器内,你也可以直接运行:

ollama list

✅ 作用:
这个命令会列出 所有已经下载的模型,如果 deepseek-r1:1.5b 已经在列表中,说明拉取已经完成。
拉取完成后,你可以退出容器:
exit

方法 3:检查 Docker 的下载进度
如果你想查看 Docker 是否仍在下载 deepseek-r1:1.5b,可以运行:
docker stats ollama-container

✅ 作用:
如果 ollama pull 仍在进行,你可能会看到 网络流量 占用较高,说明仍在下载。
如果 CPU/网络流量都接近 0,说明可能已经完成了。

方法 4:查看已下载的模型
如果你想确认 deepseek-r1:1.5b 是否已经下载完成,可以直接在 宿主机 执行:

curl http://localhost:11434/api/tags

或者在 ollama-container 内部执行:

ollama list

✅ 作用:
如果 deepseek-r1:1.5b 出现在列表中,说明它已经下载完成,可以使用了。

3、其他Ollama操作

停止 Ollama 容器
如果你想停止 Ollama 容器,可以运行以下命令:

sudo docker stop ollama-container

进入 Ollama 容器

如果你需要进入正在运行的 Ollama 容器,可以使用:

sudo docker exec -it ollama-container bash

3、创建Docker 网络

确保运行了 ollama-container,可以用以下命令确认它在运行:

docker ps

如果它没有运行,先启动它:

docker start ollama-container

创建一个 Docker 网络,如下命令创建了一个名为 ollama-net 的自定义网络。

docker network create ollama-net

把 ollama-container 连接到 ollama-net

docker network connect ollama-net ollama-container

这样 ollama-container 就加入了 ollama-net 网络,其他在该网络中的容器可以通过 容器名称 直接访问它。

4、配置前端UI

拉取 nextjs-ollama-ui 的镜像(如果本地没有):

docker pull jakobhoeg/nextjs-ollama-ui:latest

然后运行 nextjs-ollama-ui 容器:

docker run -d -p 3000:3000 \--network ollama-net \-e OLLAMA_URL=http://ollama-container:11434 \--name nextjs-ollama-ui \--restart always \jakobhoeg/nextjs-ollama-ui:latest

解释:

  • –network ollama-net:让 nextjs-ollama-ui 也加入 ollama-net,这样它能直接访问 ollama-container
  • -e OLLAMA_URL=http://ollama-container:11434:配置前端 UI 连接 ollama-container 的 11434 端口
  • -p 8080:3000:将 宿主机的 3000 端口 映射到 前端的 3000 端口,你可以通过 http://localhost:8080 访问 UI

等待容器启动后,你可以在浏览器中访问:

http://localhost:3000

然后 UI 就能正确连接到 ollama-container
在这里插入图片描述

选择模型,测试问题可以成功运行
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15465.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信创领域的PostgreSQL管理员认证

信创产业,全称为信息技术应用创新产业,是中国为应对国际技术竞争、保障信息安全、实现科技自立而重点发展的战略性新兴产业。其核心目标是通过自主研发和生态构建,逐步替代国外信息技术产品,形成自主可控的国产化信息技术体系。 发…

jemalloc的malloc案例来分析GOT表和PLT表有关流程

一、背景 在之前的博客 跟踪jemalloc 5.3.0的第一次malloc的源头原因及jemalloc相关初始化细节拓展-CSDN博客 里,我们分析了在preload jemalloc的库之后,main之前的一次malloc分配(分配72704字节)的源头原因并做了jemalloc的初始…

Centos Ollama + Deepseek-r1+Chatbox运行环境搭建

Centos Ollama Deepseek-r1Chatbox运行环境搭建 内容介绍下载ollama在Ollama运行DeepSeek-r1模型使用chatbox连接ollama api 内容介绍 你好! 这篇文章简单讲述一下如何在linux环境搭建 Ollama Deepseek-r1。并在本地安装的Chatbox中进行远程调用 下载ollama 登…

使用sunshine和moonlight串流时的音频输出问题

设备:电脑和平板串流,把平板当副屏使用 1.如果启用安装steam音频驱动程序,则平板有声,电脑无声,在moonlight端可以设置平板和电脑同时发声,但是有点卡 2.只想电脑发声,平板无声 禁用安装steam…

微信小程序案例2——天气微信小程序(学会绑定数据)

文章目录 一、项目步骤1 创建一个weather项目2 进入index.wxml、index.js、index.wxss文件,清空所有内容,进入App.json,修改导航栏标题为“中国天气网”。3进入index.wxml,进行当天天气情况的界面布局,包括温度、最低温、最高温、天气情况、城市、星期、风行情况,代码如下…

如何在WPS和Word/Excel中直接使用DeepSeek功能

以下是将DeepSeek功能集成到WPS中的详细步骤,无需本地部署模型,直接通过官网连接使用:1. 下载并安装OfficeAI插件 (1)访问OfficeAI插件下载地址:OfficeAI助手 - 免费办公智能AI助手, AI写作,下载…

数字电路-基础逻辑门实验

基础逻辑门是数字电路设计的核心元件,它们执行的是基本的逻辑运算。通过这些基本运算,可以构建出更为复杂的逻辑功能。常见的基础逻辑门包括与门(AND)、或门(OR)、非门(NOT)、异或门…

哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测

哪吒闹海!SCI算法分解组合四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测 目录 哪吒闹海!SCI算法分解组合四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测效果一览基本介绍程序设计参考资料 效果一览…

C++,STL 迭代器简介:概念、分类、操作

文章目录 引言一、迭代器的基本概念1.1 什么是迭代器?1.2 迭代器的意义二、迭代器的分类2.1 示意图:迭代器能力层级2.2 示例:不同迭代器的操作三、迭代器的常用操作3.1 基本操作3.2 随机访问迭代器专用操作示例代码:随机访问迭代器四、迭代器的通用用法4.1 遍历容器4.2 配合…

EasyExcel 导出合并层级单元格

EasyExcel 导出合并层级单元格 一、案例 案例一 1.相同订单号单元格进行合并 合并结果 案例二 1.相同订单号的单元格进行合并2.相同订单号的总数和总金额进行合并 合并结果 案例三 1.相同订单号的单元格进行合并2.相同订单号的商品分类进行合并3.相同订单号的总数和总金额…

常用的python库-安装与使用

常用的python库函数 yield关键字openslide库openslide对象的常用属性 cv2库numpy库ASAP库-multiresolutionimageinterface库ASAP库的安装ASAP库的使用 concurrent.futures.ThreadPoolExecutorxml.etree.ElementTree库skimage库PIL.Image库 PIL.Image.Imagedetectron2库数据增强…

C++基础系列【8】如何解决编译器报的错误

博主介绍:程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末👇&#x1f…

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<8>

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 今天我们复习前面学习的指针知识 目录 关于指针数组和数组指针的区别指针数组(Array of Poi…

UE5.5 PCGFrameWork--GPU CustomHLSL

在上一篇UE5.5 PCGFrameWork使用入门-CSDN博客 大致介绍了UE5 PCG框架的基本使用. 本篇探索PCGFrame的高级应用--GPU点云。也就是利用GPU HLSL编程对点云进行操纵,可以大幅度提升点云生成效率。 目前在UE5 PCG框架中,点云GPU的应用大致分为三类: Point…

Games202 Lecture11 LTC | Disney principled BRDF | NPR

Shading with microfacet BRDFs under polygonal lighting -Linearly Transformed Cosines(LTC)Real-Time PBR Materials cont. -Disney principled BRDFNon-photorealistic rendering(NPR) Linearly Transformed Cosines(LTC) lobe花瓣 BRDF的2d形状 基本思路: 任意BRDF变…

Flink 内存模型各部分大小计算公式

Flink 的运行平台 如果 Flink 是运行在 yarn 或者 standalone 模式的话,其实都是运行在 JVM 的基础上的,所以首先 Flink 组件运行所需要给 JVM 本身要耗费的内存大小。无论是 JobManager 或者 TaskManager ,他们 JVM 内存的大小都是一样的&a…

学习数据结构(8)双向链表

1.双向链表的实现 双向链表一般指带头双向循环链表 (1)双向链表的声明 (2)双向链表的打印 (3)向内存申请节点 (4)初始化双向链表 或 (5)尾部插入 &#xf…

【漫话机器学习系列】088.常见的输出层激活函数(Common Output Layer Activation Functions)

在神经网络中,输出层(Output Layer) 的激活函数(Activation Function)直接决定了模型的输出形式,并影响损失函数的选择及训练效果。不同的任务类型(如分类或回归)需要使用不同的激活…

Python 鼠标轨迹 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

工业相机在工业生产制造过程中的视觉检测技术应用

随着技术不断发展以及工业4.0时代的到来,利用工业相机进行视觉检测技术已经成为制造业不可或缺的一部分。通过结合先进的计算机视觉、AI算法和自动化设备,工业视觉检测为生产线质量控制和效率提升提供了革命性的解决方案。 一、什么是工业视觉检测技术 …