在Ubuntu上使用Docker部署DeepSeek

embedded/2025/2/5 10:12:15/

在Ubuntu上使用Docker部署DeepSeek,并确保其可以访问公网网址进行对话,可以按照以下步骤进行:

一、安装Docker
更新Ubuntu的软件包索引:

sudo apt-get update

安装必要的软件包,这些软件包允许apt通过HTTPS使用存储库:

sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release

添加Docker的官方GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

设置Docker的稳定版存储库:

echo \"deb [arch=$(dpkg --print-architecture) 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

更新apt软件包索引,并安装Docker Engine:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

二、安装Ollama(DeepSeek的本地化部署工具)
访问Ollama官网(https://ollama.com),根据操作系统选择相应的安装方法。对于Ubuntu,可以在终端中运行以下命令进行安装:

curl -fsSL https://ollama.com/install.sh | sh

安装完成后,验证Ollama是否安装成功:

ollama -v

如果显示Ollama的版本信息,则表示安装成功。

三、下载并部署DeepSeek模型
使用Ollama下载DeepSeek模型。在Ollama官网或相关文档中找到DeepSeek模型的下载链接或命令。例如,下载DeepSeek-R1模型:

ollama run deepseek-r1:[选择合适的版本,如7b或1.5b等]

下载完成后,可以通过命令行与DeepSeek模型进行交互。如果需要部署一个Web界面来与模型进行对话,可以考虑使用Open WebUI等工具。

四、配置Docker容器以访问公网
运行Docker容器时,需要将容器的端口映射到宿主机的端口上,以便外部用户可以访问。例如,如果DeepSeek的Web界面运行在容器的8080端口上,可以使用以下命令运行容器:

docker run -d -p [宿主机端口]:8080 --name deepseek-container [DeepSeek Docker镜像名称]

将[宿主机端口]替换为希望外部用户访问的端口号,[DeepSeek Docker镜像名称]替换为DeepSeek的Docker镜像名称。

确保Ubuntu服务器的防火墙允许外部访问所映射的端口。可以使用ufw(Uncomplicated Firewall)等工具来配置防火墙规则。例如,允许外部访问8080端口:

sudo ufw allow 8080/tcp

如果需要,还可以配置域名解析,将域名指向Ubuntu服务器的公网IP地址,以便用户可以通过域名访问DeepSeek的Web界面。

五、访问DeepSeek的Web界面
打开浏览器,输入Ubuntu服务器的公网IP地址和所映射的端口号(如http://[公网IP]:[宿主机端口]),即可访问DeepSeek的Web界面。
在Web界面中,可以输入问题或指令与DeepSeek模型进行对话。
请注意,以上步骤可能因DeepSeek和Ollama的更新而有所变化。在实际操作时,请参考DeepSeek和Ollama的官方文档以获取最新的安装和配置指南。


http://www.ppmy.cn/embedded/159719.html

相关文章

笔记day6

文章目录 1 复习:2 动态开发面包屑中的分类名3 动态开发面包屑中的关键字4 排序操作4.1 问题:order属性的属性值最多有多少种写法4.2 问题:谁应该有类名4.3 问题:谁应该有箭头4.4 问题:箭头用什么制作 1 复习&#xff…

《苍穹外卖》项目学习记录-Day7缓存套餐

如果使用EHCache作为缓存实现,只需要导入 EHCache的maven坐标。 入门案例 如果使用Spring cache缓存数据,key的生成:userCache::xxx。#user.id中的.叫做对象导航。 因为id是自增的所以只输入age和name就可以了,在插入完之后它会把…

详解Kafka并行计算架构

引言 在高流量的复杂场景下,Kafka 凭借卓越的性能表现脱颖而出,始终维持着极高的吞吐率和高效的消息消费能力,在众多消息队列产品中独树一帜。其稳定且强大的性能,不仅保障了海量数据的快速处理,还为各类业务的高效运行…

【cran Archive R包的安装方式】

cran Archive R包的安装方式 添加链接描述 1.包被cran移除 2.包要求的R语言版本与你电脑上的版本不相符 ad archive包的网址或者是下载到工作目录下,ad等于文件名 install,packages(ad repos NULL)

Java小白入门教程:LinkedList

目录 一、定义 二、作用 1、存储数据 2、动态扩容 3、提供方便的操作方法 三、使用场景 1.当你需要频繁地在列表的开头或结尾添加或删除元素时。 2.当你不需要按索引快速访问元素时,因为LinkedList访问元素需要从头开始遍历 3.当你不需要线程安全的数据结构…

关于matlab中rotm2eul的注释错误问题

在这里,写的是默认的旋转矩阵的顺序为‘ZYX’,对应的旋转轴的顺序为Z、Y、X。 包括网页上写的是 但是实际上,在实际的应用中,旋转的顺序应该是,X、Y、Z轴的顺序 即RRzRyRx 但是在矩阵运算中,由于YRzRyRx*X…

在Vue 3中使 echarts 图表宽度自适应变化

需求&#xff1a; 有现在这样一段使用 echarts 的 vue3 代码&#xff1a; <template><div ref"chartRef" style"width: 600px; height: 400px;"></div> </template><script setup> import {getCurrentInstance, onMounted…

kaggle视频行为分析1st and Future - Player Contact Detection

这次比赛的目标是检测美式橄榄球NFL比赛中球员经历的外部接触。您将使用视频和球员追踪数据来识别发生接触的时刻&#xff0c;以帮助提高球员的安全。两种接触&#xff0c;一种是人与人的&#xff0c;另一种是人与地面&#xff0c;不包括脚底和地面的&#xff0c;跟我之前做的这…