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

服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用

服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用

一、ubuntu和docker基本环境配置

1.更新包列表:
  • 打开终端,输入以下命令:
sudo apt-get update
sudo apt upgrade

更新时间较长,请耐心等待

2. 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
3. 添加docker密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
4.添加阿里云docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

如果是arm架构,命令换成下面这个,否则第5步会出错

sudo add-apt-repository "deb [arch=arm64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
5.安装docker
apt-get install docker-ce docker-ce-cli containerd.i
6.安装完成docker测试
docker -v

在这里插入图片描述

7. docker配置国内镜像源
  • 7.1 编辑配置文件
vi /etc/docker/daemon.json

按i进入编辑模式

加入以下内容:

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://docker.m.daocloud.io", "https://ghcr.io","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}

按ESC键退出编辑模式,接着输入:wq,保存并退出

  • 7.2 重新加载docker
sudo systemctl daemon-reload
  • 7.3 重启docker
sudo systemctl restart docker
2. 安装英伟达显卡驱动
2.1 使用wget在命令行下载驱动包

注意,这里是要根据自己的机器选择驱动版本进行安装,这里是选择的是aarch64架构的550.90.07驱动,其他的可以去英伟达官网自己找。官方高级驱动搜索 。注意,选择cuda的时候,要选择你要安装的版本(我这里是选择最新的12.4,除了12.4,还可以兼容12.4以下的。)

https://cn.download.nvidia.com/tesla/550.90.07/NVIDIA-Linux-aarch64-550.90.07.run
2.2 更新软件列表和安装必要软件、依赖
sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
2.2 卸载原有驱动(如果执行nvidia-smi报错可以不用执行这一步)
sudo apt-get remove --purge nvidia* 

使用vim修改配置文件

sudo vim /etc/modprobe.d/blacklist.conf

按i键进入编辑模式,在文件尾增加两行:

blacklist nouveau
options nouveau modeset=0

按esc键退出编辑模式,输入:wq保存并退出
更新文件

sudo update-initramfs –u

重启电脑:

sudo reboot
2.3 安装驱动

授予执行权限(记得将文件名换成自己的驱动文件)

sudo chmod 777 NVIDIA-Linux-aarch64-550.90.07.run

执行安装命令

sudo ./NVIDIA-Linux-aarch64-550.90.07

检测显卡驱动是否安装成功

nvidia-smi

出现以下界面则证明驱动安装成功(注意,Processes是我在执行的进程,如果你是新安装的,应该是空白的。)

在这里插入图片描述

2.4 安装CUDA

注意:这里选择安装的版本一定要等于或者低于你执行nvidia-smi命令后显示的CUDA Version那个版本,比如我是显示12.4,则我可以安装12.4或者是之前的版本。驱动与CUDA版本对应关系,可以看官网这里介绍,驱动版本与CUDA版本的对应表

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

输出accept开始安装
在这里插入图片描述
注意这里要按enter取消勾选第一个选项,因为之前已经安装了驱动
在这里插入图片描述
然后选择Install开始安装

sudo sh cuda_12.4.0_550.54.14_linux.run
2.5 环境变量配置

以vim方式打开配置文件

sudo vim ~/.bashrc

在文件尾中加入以下两行:

export PATH="/usr/local/cuda-12.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH"

更新环境变量

source ~/.bashrc

检测CUDA是否安装成功

nvcc -V

出现下面的信息则证明CUDA安装成功

在这里插入图片描述

3. 安装conda
3.1 软件下载
wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
bash Anaconda3-2023.03-1-Linux-x86_64.sh
3.2 设置环境变量
vim /etc/profile

在末尾添加环境变量

export PATH="~/anaconda3/bin:$PATH"
vim ~/.bashrc
export PATH="~/anaconda3/bin:$PATH"

刷新环境变量

source /etc/profile
source ~/.bashrc

然后conda -V要是正常就安装成功了

conda -V
3.3 conda配置

配置清华镜像源
代码如下:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

设置搜索时显示通道地址

conda config --set show_channel_urls yes

配置pip 镜像源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

三、使用docker安装ollama

1. 使用docker拉取ollama镜像
docker pull ollama/ollama:latest

国内镜像

docker pull dhub.kubesre.xyz/ollama/ollama:latest
2.使用docker运行以下命令来启动 Ollama 容器
docker run -d --gpus=all --restart=always -v /home/docker/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

使ollama保持模型加载在内存(显存)中

  • 参考文章
    ollama如何保持模型加载在内存(显存)中或立即卸载
  • 执行以下命令:
docker run -d --gpus=all -e OLLAMA_KEEP_ALIVE=-1 --restart=always -v /home/docker/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
3.使用ollama下载模型
  • 这里示例下载阿里的通义千问
docker exec -it ollama ollama run qwen2
  • 运行效果如图:
    在这里插入图片描述

  • 模型库

模型参数数量大小下载方式
Llama 27B3.8GBdocker exec -it ollama ollama run llama2
Mistral7B4.1GBdocker exec -it ollama ollama run mistral
Dolphin Phi2.7B1.6GBdocker exec -it ollama ollama run dolphin-phi
Phi-22.7B1.7GBdocker exec -it ollama ollama run phi
Neural Chat7B4.1GBdocker exec -it ollama ollama run neural-chat
Starling7B4.1GBdocker exec -it ollama ollama run starling-lm
Code Llama7B3.8GBdocker exec -it ollama ollama run codellama
Llama 2 Uncensored7B3.8GBdocker exec -it ollama ollama run llama2-uncensored
Llama 213B7.3GBdocker exec -it ollama ollama run llama2:13b
Llama 270B39GBdocker exec -it ollama ollama run llama2:70b
Llama 3.18B4.7GBdocker exec -it ollama ollama run llama3.1:70
Orca Mini3B1.9GBdocker exec -it ollama ollama run orca-mini
Vicuna7B3.8GBdocker exec -it ollama ollama run vicuna
LLaVA7B4.5GBdocker exec -it ollama ollama run llava
Gemma2B1.4GBdocker exec -it ollama ollama run gemma:2b
Gemma7B4.8GBdocker exec -it ollama ollama run gemma:7b
4.使用ollama下载模型

下载微调版本的,可以看这篇文章,[HuggingFace + Ollama + Llama 3.1:轻松搞定Llama 3.1中文微调版本安装](
四、使用docker安装open-webui

1. docker部署ollama web ui

main版本

docker run -d -p 30131:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

cuda版本

docker run -d -p 30131:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:cuda
  • 安装成功后,可以在另一台计算机进行访问,如下:
    在这里插入图片描述
2.注册账号
  • 默认第一个账号是管理员
    在这里插入图片描述
3.成功进入:

在这里插入图片描述

4. 聊天界面

在这里插入图片描述
在这里插入图片描述

参考来源:https://blog.csdn.net/weixin_62798503/article/details/140658151

相关文章:

服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用

服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用 一、ubuntu和docker基本环境配置 1.更新包列表: 打开终端,输入以下命令: sudo apt-get updatesudo apt upgrade更新时间较长,请耐心等待 2. 安装docke…...

代理模式Proxy

一、代理模式(Proxy) 1.代理模式的定义 代理模式给某一个对象提供一个代理对象,并由代理对象控制对真实对象的访问,起到对代理对象已有功能的增强 通俗的来讲代理模式就是我们生活中常见的中介。 2.作用 中介隔离作用&#x…...

C++ 设计模式——抽象工厂模式

抽象工厂模式 抽象工厂模式 抽象工厂模式主要组成部分代码实现抽象工厂模式模式的 UML 图抽象工厂模式 UML 图解析优点和缺点适用场景 抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它通常用于需要创建多个产品…...

《亿级流量系统架构设计与实战》第十一章 Timeline Feed服务

Timeline Feed服务 一、概述1、分类2、功能 二、设计原理1、拉模式与用户发件箱2、推模式与用户收件箱3、推拉模式结合 三、关键技术1、内容与用户收件箱的交互(推模式)2、推送拆分子任务3、收件箱模型设计 内容总结自《亿级流量系统架构设计与实战》 一…...

氙灯老化试验箱试验机

氙灯老化试验箱,采用6.5KW大功率的精密水冷式氙灯,曝晒面积达到了6500cm2 功能强大,测试结果可靠 ◆ 满足国内外所有氙灯测试标准要求。 ◆ 采用氙灯灯管及滤光器组件,保证试验数据的可比性和重现性。 ◆ 自动旋转式三层鼓型样板架…...

【Qt】常用控件QRadioButton

常用控件QRadioButton QRadioButton是单选按钮,可以在多个选项中选择一个。 作为QAbstractButton和QWidget的子类,其属性和用法,对于QRadioButton同样适用。 属性说明 checkable 是否能选中 checked 是否已经被选中. checkable 是 checked…...

Mysql 离线版下载安装-(详细版)

Mysql 离线版下载安装-(详细版) 文章目录 Mysql 离线版下载安装-(详细版)1.0 下载地址2.0 解压到本地2.0.1 配置环境变量2.0.2 新建mysql配置文件ini2.0.3使用管理员启动 cmd 3.0 初始化密码忘记了4.0 修改初始化密码5.0 使用可视化工具登录Mysql 1.0 下载地址 地址&#xff1…...

Spring Boot和OCR构建车牌识别系统

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 OCR介绍 OCR(Optical Character Recognition)是光学字符识别技术的缩写,它能够将图像中的文本转换为机器可读和编辑的数字文本格式。这种技术广泛应用于数据输入、文档管理…...

Java-自定义注解中成员变量是Class<?>

在Java中,自定义注解可以包含各种类型的成员变量,包括 Class<?> 类型。这种类型的成员变量 通常用于表示某个类的类型信息。下面我将详细介绍如何定义一个包含 Class<?> 类型成员变量的 自定义注解,并给出一些示例代码。 1. 定义自定义注解 定义一个自定义…...

SX_UNIX套接字通信_15

UNIX套接字通信的优势&#xff1a; UNIX套接字通信常用于一个项目中的进程之间通信&#xff0c;UNIX提供了与网络套接字相似的特性&#xff0c;但是避免了网络延迟&#xff0c;提高了性能&#xff0c;但是它只能在同一台机器上使用&#xff0c;无法跨越网络的进程间通信 实例&…...

JS模块化总结 | CommonJS、ES6

BV13W42197jR 个人笔记 目录 JS模块化基础知识1. 概述1.1 什么是模块化1.2 为什么需要模块化? 2 模块化规范3 导入&导出4 CommonJS规范4.1 初步体验4.2 导出数据4.3 导入数据4.4 扩展理解4.5 浏览器端运行 5 ES6模块化规范5.1 初步体验5.2 Node中运行ES65.3 导出数据①分别…...

25考研计算机组成原理复习·3.5高速缓冲存储器

高速缓冲存储器Cache 工作原理&#xff1a;将某些主存块复制到Cache中&#xff0c;缓和CPU与主存之间的速度矛盾局部性原理 时间局部性&#xff1a;现在访问的地址&#xff0c;不久之后也很可能被再次访问空间局部性&#xff1a;现在访问的地址&#xff0c;其附近的地址也很可…...

餐厅管理系统

目录 一、 系统简介 1.1需求分析 1.2 编程环境与工具 二、 系统总体设计 2.1 系统的功能模块图。 2.2 各功能模块简介。 三、 主要业务流程 &#xff08;1&#xff09;用户及管理员登录流程图 &#xff08;2&#xff09;信息添加流程 &#xff08;3&#xf…...

杭州百腾教育科技 TiDB 6.5 to 7.5 升级记录

作者&#xff1a; reAsOn2010 原文来源&#xff1a; https://tidb.net/blog/612103f3 背景 使用 TiDB 作为我们的全量数据库已经有六七年了&#xff0c;当时还是 2.0 版本。早期TiDB的迭代和新特性的发布对于实际使用的影响还是很大的&#xff0c;所以从那个时候开始就有每…...

Redis的缓存穿透、击穿、雪崩

目录 缓存穿透 定义&#xff1a; 解决方法&#xff1a; 缓存击穿 定义&#xff1a; 解决方案&#xff1a; 缓存雪崩 定义&#xff1a; 解决方案&#xff1a; 缓存穿透、缓存击穿和缓存雪崩的区别 缓存穿透 定义&#xff1a; 查询一个不存在的数据&#xff0c;数据库未…...

【Django开发】前后端分离django美多商城项目第1篇:欢迎来到美多 项目主要页面介绍【附代码文档】

本教程的知识点为&#xff1a; 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计&#xff1a; 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后…...

【软件造价咨询】信息化项目预算评审看什么?

在信息化项目预算评审中&#xff0c;各方往往只重视预算金额部分&#xff0c;而忽视了项目建设的全局性和整体性把关&#xff0c;导致信息系统的重复建设、分散建设、业务和系统两张皮、重功能轻数据、重投资轻方案等问题频出&#xff0c;从而大幅降低财政投资效益。 例如&…...

第37讲:Cephfs文件系统的正确使用姿势

文章目录 1.Cephfs文件系统简介2.Cephfs文件系统细节介绍2.1.Cephfs文件系统多客户端隔离挂载2.2.Ceph集群中多个Cephfs如何单独使用 3.挂载多个Cephfs文件系统4.Cephfs文件系统多客户端隔离挂载实战4.1.创建一个Cephfs文件系统4.2.将Cephfs文件系统挂载到本地路径4.3.在Cephfs…...

单片机烧录

在设计芯片的时候&#xff0c;关于烧录的环节是一个不得不考虑的问题。 我们首先排除掉&#xff0c;由外部直接硬件操控FLASH 的方案&#xff0c;这个方案有很多缺点。 1、每个IC使用的FLASH型号是各不相同的&#xff0c;每种型号的FLASH的烧录命令和流程都有差别&#xff0c;这…...

mysql实现分布式锁

利用数据库的悲观锁实现分布式锁,实际应用中要考虑mysql的高可用。 DistributedLock.h #ifndef DistributedLock_H_ #define DistributedLock_H_// // DistributedLock.h: // #include "base/MySQLDriver.h" class CDistributedLock { public://// Construction/D…...

MySQL快速使用

关系型数据库&#xff08;RDBMS&#xff09;&#xff1a;建立在关系模型基础上&#xff0c;由多张相互连接的二维表组成的数据库 特点&#xff1a;使用表存储数据&#xff0c;格式统一方便维护&#xff1b;使用SQL语言操作&#xff0c;标准统一使用方便 通用语法&#xff1a; …...

LeetCode41.缺失的第一个正数

1. 题目大意 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 2. 思路分析 示例 1&#xff1a; 输入&#xff1a;nums [3,4,-1,1] 输出&#xff1a;2 解释&#xff1…...

ee trade:黄金投资与股票投资的区别

黄金和股票&#xff0c; 是金融市场中两种常见的投资工具&#xff0c; 它们拥有截然不同的特点和风险&#xff0c; 了解它们的差异&#xff0c; 可以帮助投资者制定更合理的投资策略。 一、 投资性质&#xff1a; 避险与成长&#xff0c; 两种投资方向 黄金&#xff1a; 被视…...

AI视频创作原理

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…...

idea vue项目删除node_modules时报文件损坏且无法读取,导致删除失败

解决办法&#xff0c;查看node_modules所在盘&#xff0c;右击点击属性-工具&#xff0c;点击检查驱动&#xff0c;查完后修复即可&#xff0c; 就能够成功删除损坏的文件了...

Linux下编译安装-单机模式

1.1 Linux下编译安装-单机模式 1.1.1 安装 (1).把安装包放在Linux文件系统下 (2).解压缩 tar -zxf redis-4.0.2.tar.gz (3).切换到解压后的目录 cd redis-4.0.2(4).编译 make(5).进入到src目录 cd src(6).执行安装 make install(7) .返回上级目录 cd .. (8) .修改配置&…...

RSSI定位算法

文章目录 一、定位算法简介1.1. 定位技术原理1.2. 定位算法二、RSSI测距原理2.1. 建模与测量终端到基站的距离三、定位3.1. 三边定位算法3.2. 加权三边定位算法3.3. 加权三角形质心定位算法3.4. 程序定位算法的执行流程一、定位算法简介 1.1. 定位技术原理 定位终端接收到iBe…...

布局管理(Layouts)-Qt-思维导图-学习笔记

布局管理(Layouts) Qt 提供了非常丰富的布局类&#xff0c;主要包括以下基本布局管理类 QBoxLayout 提供了水平和垂直的布局管理&#xff0c;可以将子部件按行或列排列。根据排列方向的不同&#xff0c;QBoxLayout 分为 QHBoxLayout&#xff08;水平布局&#xff09;和 QVBox…...

《区块链赋能游戏业:破解虚拟资产交易与确权难题》

在当今数字化的时代&#xff0c;游戏行业正以前所未有的速度发展&#xff0c;虚拟资产在游戏中的重要性日益凸显。然而&#xff0c;虚拟资产的交易和确权问题一直困扰着游戏开发者和玩家。随着区块链技术的引入&#xff0c;为解决这些问题带来了新的曙光。 首先&#xff0c;我…...

机器学习第十一章-特征选择与稀疏学习

11.1子集收集与评价 属性称为"特征" &#xff0c;对当前学习任务有用的属性称为"相关特征" 、没什么用的属性称为"无关特 征" . 从给定的特征集合中选择出相关特征于集的过程&#xff0c;称为"特征选择"。 特征选择是一个重要的"…...

做公司网站多少钱/朝阳网络推广

JVM 是可运行 Java 代码的假想计算机 &#xff0c;包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收&#xff0c;堆 和 一个存储方法域。JVM是运行在操作系统之上的&#xff0c;它与硬件没有直接 的交互。 Java 源文件&#xff0c;通过编译器&#xff0c;能够生产相应…...

日本做a的动画视频在线观看网站/fifa世界排名最新

一、下载maven并解压 下载地址&#xff1a;http://maven.apache.org/download.cgi 解压后如下&#xff1a; 二、配置环境变量 配置MAVEN_HOME 再path中添加 安装成功 三、配置本地仓库路径 路径自己安装的maven目录: conf/setting.xml 四、设置eclipse 1. 设置自己安装的maven…...

孝感 网站建设/湖南网站定制

🥇 版权: 本文由【墨理】原创、在CSDN首发、如需转载,请联系博主❤️ 如果文章对你有帮助、欢迎三连、欢迎订阅文章目录 📔 基础信息📕 环境搭建📗 测试数据集下载📘 训练【参考官方readMe即可】📙 测试【简记】📙 附源码分享📜 致谢📔 基础信息 Unsupervis…...

洞口做网站多少钱/北京出大大事了

Hadoop YARN架构解读 原Mapreduce架构 原理架构图如下&#xff1a; 图 1.Hadoop 原 MapReduce 架构原 MapReduce 程序的流程&#xff1a;首先用户程序 (JobClient) 提交了一个 job&#xff0c;job 的信息会发送到 Job Tracker 中&#xff0c;Job Tracker需要与集群中的机器定时…...

windows下安装wordpress/外贸网站营销推广

Synergy 是一个可以多台电脑之间共享鼠标键盘的软件。因为电脑很多&#xff0c;被多个鼠标键盘搞得手忙脚乱的朋友有福了。利用这个软件可以实现多屏同时操作的功能。除了窗口 不能跨屏幕外&#xff0c;剪贴板&#xff0c;鼠标&#xff0c;键盘都能很好得共享,而且这个软件支持…...

用一个织梦程序做两个网站/外贸网站建站平台

首先&#xff0c;咱们先来熟悉下经典的tcp/ip模型。 tcp/ip 模型为了方便使用&#xff0c;将osi七层模型划分成了四层&#xff0c;分别为网络接口层&#xff0c;网络层&#xff0c;传输层&#xff0c;应用层。 他们作用分别为&#xff1a; 1&#xff09;网络接口层&#xff1a;…...