服务器Ubuntu22.04系统 使用dcocker部署安装ollama和搭配open_webui使用
一、ubuntu和docker基本环境配置
1.更新包列表:
- 打开终端,输入以下命令:
sudoapt-get update
sudoapt upgrade
更新时间较长,请耐心等待
2. 安装docker依赖
sudoapt-getinstall 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-getinstall 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 更新软件列表和安装必要软件、依赖
sudoapt-get update
sudoapt-getinstall g++
sudoapt-getinstall gcc
sudoapt-getinstallmake
2.2 卸载原有驱动(如果执行nvidia-smi报错可以不用执行这一步)
sudoapt-get remove --purge nvidia*
使用vim修改配置文件
sudovim /etc/modprobe.d/blacklist.conf
按i键进入编辑模式,在文件尾增加两行:
blacklist nouveau
options nouveau modeset=0
按esc键退出编辑模式,输入:wq保存并退出
更新文件
sudo update-initramfs –u
重启电脑:
sudoreboot
2.3 安装驱动
授予执行权限(记得将文件名换成自己的驱动文件)
sudochmod777 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开始安装
sudosh cuda_12.4.0_550.54.14_linux.run
2.5 环境变量配置
以vim方式打开配置文件
sudovim ~/.bashrc
在文件尾中加入以下两行:
exportPATH="/usr/local/cuda-12.4/bin:$PATH"exportLD_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
在末尾添加环境变量
exportPATH="~/anaconda3/bin:$PATH"
vim ~/.bashrc
exportPATH="~/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 -p11434:11434 --name ollama ollama/ollama
使ollama保持模型加载在内存(显存)中
- 参考文章 ollama如何保持模型加载在内存(显存)中或立即卸载
- 执行以下命令:
docker run -d--gpus=all -eOLLAMA_KEEP_ALIVE=-1 --restart=always -v /home/docker/ollama:/root/.ollama -p11434: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下载模型
- 这里示例下载阿里的通义千问
dockerexec-it ollama ollama run qwen2
- 运行效果如图:
- 模型库
模型参数数量大小下载方式Llama 27B3.8GB
Mistral7B4.1GBdocker exec -it ollama ollama run llama2
Dolphin Phi2.7B1.6GBdocker exec -it ollama ollama run mistral
Phi-22.7B1.7GBdocker exec -it ollama ollama run dolphin-phi
Neural Chat7B4.1GBdocker exec -it ollama ollama run phi
Starling7B4.1GBdocker exec -it ollama ollama run neural-chat
Code Llama7B3.8GBdocker exec -it ollama ollama run starling-lm
Llama 2 Uncensored7B3.8GBdocker exec -it ollama ollama run codellama
Llama 213B7.3GBdocker exec -it ollama ollama run llama2-uncensored
Llama 270B39GBdocker exec -it ollama ollama run llama2:13b
Llama 3.18B4.7GBdocker exec -it ollama ollama run llama2:70b
Orca Mini3B1.9GBdocker exec -it ollama ollama run llama3.1:70
Vicuna7B3.8GBdocker exec -it ollama ollama run orca-mini
LLaVA7B4.5GBdocker exec -it ollama ollama run vicuna
Gemma2B1.4GBdocker exec -it ollama ollama run llava
Gemma7B4.8GBdocker exec -it ollama ollama run gemma:2b
docker 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-p30131: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-p30131: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
版权归原作者 parklot 所有, 如有侵权,请联系我们删除。