服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用
创始人
2024-09-25 23:20:52
0
服务器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以下的。)

wget 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 
  • 错误信息

    如果在启动容器的时候,提示:Error response from daemon: could not select device driver “” with capabilities: [[gpu]]

    这是由于没有配置好docker运行环境导致的,执行安装容器运行环境(Ubuntu为例),参考docker 报错:不能选择设备驱动 could not select device driver 的解决方法

# 确保显卡驱动已安装 nvidia-smi  # 创建包仓库和GPG key distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \        && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \        && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \              sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \              sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list  # 更新包列表之后安装 nvidia-docker2 包(以及依赖) sudo apt-get update sudo apt-get install -y nvidia-docker2  # 安装完毕重启容器 sudo systemctl restart docker 
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

相关内容

热门资讯

八分钟了解!Wepoke识别原... 八分钟了解!Wepoke识别原来真的有猫腻,智星菠萝外挂透明挂脚本(有挂辅助)-哔哩哔哩;致您一封信...
8分钟了解(河洛杠次外挂是真的... 8分钟了解(河洛杠次外挂是真的)原来是真的有外挂透明挂透视(2025已更新)(哔哩哔哩);1、超多福...
4分钟了解"wepo... 4分钟了解"wepoke透明挂!外挂辅助器"透视器透明挂(2024已更新)(哔哩哔哩);中文版是一款...
技术分享!Wepoke最新款原... 您好,智星德州这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
科技介绍(老友十三张有辅助挂的... 您好,老友十三张有辅助挂的这款游戏可以开挂的,确实是有挂的,需要了解加微【439369440】很多玩...
揭秘!Wepoke安卓版原来真... 揭秘!Wepoke安卓版原来真真切切是有挂,nzt德州外挂透明挂测试(有挂力荐)-哔哩哔哩是一款可以...
5分钟了解"wepo... 一、5分钟了解"wepoke软件透明!辅助器插件"透明挂开挂(2022已更新)(哔哩哔哩)是的,亲,...
我来教教大家!微扑克线上软件透... 我来教教大家!微扑克线上软件透明挂,wpk苹果版外挂辅助器代打(有挂必备)-哔哩哔哩;一、wpk苹果...
分享一款(聚乐麻将有挂的是真的... 分享一款(聚乐麻将有挂的是真的)原来真有外挂透明挂神器(2025已更新)(哔哩哔哩);聚乐麻将有挂的...
一分钟了解!Wepoke助手原... 一分钟了解!Wepoke助手原来真的真的是有挂,德州游戏外挂辅助器脚本(有挂实锤)-哔哩哔哩;德州游...