Windows 10 安装 DockerDesktop+Ollama 3 + open webui

一直想在Windows上安装好Ollama3,smile-yan看了挺多安装文章,还是很多坑,花了挺多的时间与精力, smile-yan写的文章挺不错,但是跟我环境还是不太一样,重新整理了一下。

  1. 环境准备与整体过程概述

1.1 环境准备

由于篇幅原因,这里假设大家已经安装好如下基础环境:

  • windows 10 / 11 操作系统(64位);
  • docker-desktop 最新版(为了避免一些没必要遇到的坑,请尽量保持能更新到最新版)。
  • WSL 2, 确保勾选Hyper-V、虚拟机平台、Linux子系统, 安装与设置也比较简单,请自行安装好这个环境;
  • 在windows 系统中,安装好 NVIDIA 驱动,就是普通的那种驱动即可,通过此驱动可以配置分辨率等等。

重要补充:本博文仅仅介绍安装好 nvidia 30系列 与 40系列显卡的个人电脑。

  • 如果个人电脑未安装显卡,无法完成以下介绍的各个步骤;但是基于 CPU 也同样可以部署,方法简单,不在此文介绍范围内;
  • 如果个人电脑安装的不是 nvidia 显卡或者显卡的版本不在30系列与40系列内,不在本文讨论范围内。

1.2 步骤概述

  1. 基于 WSL2 安装子系统,安装好 Ubuntu 子系统;
  2. 在子系统 WSL2 中安装好 Nvidia 驱动;
  3. 配置windows下的 docker-desktop,让 WSL2 作为 docker 的 backend;
  4. 重启一下设备,确保 WSL2 与 windows 下的 docker 已经连通无误;
  5. 安装镜像,验证docker镜像能通过WSL2以及WSL2下安装的驱动,使用显卡;
  6. 安装 Ollama3 + open webui 的 docker 镜像,验证可以正常使用;
  7. 基于 open webui 安装 Ollama3 模型,验证可以正常使用GPU。
  8. 重启一下验证无误,万事大吉 !

温馨提示: 整个过程可能遇到类似于网络超级慢,安装过程突然中断,安装docker镜像时PULL时间超级漫长等等问题。请务必耐心处理一个一个问题。

1.3 安装Docker Desktop

官网下载地址:https://www.docker.com/

如果有问题可以参考这个

windows安装Docker Desktop及国内镜像_docker desktop 国内镜像-CSDN博客

  1. 安装子系统以及子系统下的显卡驱动

2.1 验证 WSL2 安装无误

打开 windows 的命令行,输入如下命令:

bash 复制代码
 wsl --version

请确保 WSL 版本 >= 2.x 。

2.2 安装子系统 ubuntu

这个地方需要注意,有可能docker安装了子系统(识别到 wsl 环境可能会默认安装子系统),如图所示:

这样我们可以使用已经安装好的子系统,也可以考虑使用自己安装的 ubuntu 系统。

输入以下命令安装子系统:

bash 复制代码
wsl --update

接着输入

bash 复制代码
wsl --install

验证过程

bash 复制代码
 wsl --list

使用ubuntu系统

在自己的windows 系统下找到 ubuntu 系统,双击后会进入一个命令行窗口

2.3 安装显卡驱动(离线安装包的方法)

特别要注意,我们不要在子系统中安装 docker ,切记切记

参考地址:https://docs.nvidia.com/cuda/wsl-user-guide/index.html

请在 WSL2 命令行中,输入如下命令,删除已有的一些库文件:

bash 复制代码
sudo apt-key del 7fa2af80
  • 找资源

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=runfile_local

  • 安装gcc
bash 复制代码
sudo apt-get install gcc -y

安装不成功,更改为阿里镜像源

ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站

  • 安装CUDA
bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run
sudo sh cuda_12.6.0_560.28.03_linux.run

如果不行,可以下在下 windows 系统浏览器下载离线驱动包

由于我多次尝试,发现网络问题使用在线安装很容易很容易报错(我是真的真的没成功过),所以这里我们使用离线安装的方法。

首先 使用自己的windows系统下的浏览器,访问 nvidia 官网驱动下载地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux\&target_arch=x86_64\&Distribution=WSL-Ubuntu\&target_version=2.0\&target_type=runfile_local

执行以后,如果你遇到错误提示如下:

可能要等很久。。

如果这样此时已经证明我们安装驱动完成 。

2.4 配置环境变量

编辑 WSL2 的 ~/.bashrc 添加环境变量就像安装完驱动控制台输出内容一样(官方的建议)

我们使用 vi 命令编辑 .bashrc 文件,写入环境变量如下:

bash 复制代码
export PATH=/usr/local/cuda-12.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:$LD_LIBRARY_PATH

vi 的命令不熟悉,可以使用 vim 等等其他命令。

最后一个步骤是我们需要激活环境变量:

bash 复制代码
source ~/.bashrc

验证方法

输入

bash 复制代码
echo $LD_LIBRARY_PATH

将会打印我们上面配置的环境变量地址。

输入 nvidia-smi

bash 复制代码
nvidia-smi

会输出显卡的相关信息

输入 nvcc -V

bash 复制代码
nvcc -V

会输出 nvidia cuda 驱动相关信息

三个过程请都验证一下,避免以后出现乱七八遭的问题

2.5 配置 docker-desktop 与 WSL2 密切绑定

配置方法比较简单,请参考如下截图:

配置完成以后,一般情况下 windows下的docker 会重新启动,确保重启正常完成。

2.6 基于docker 安装 cuda-sample 验证 cuda 可用

之所以不直接安装 open webui ,是因为代价有点大,如果docker镜像不能正常访问GPU,那么添加 open webui 过程太浪费时间了。

在 WSL2 命令行中,输入内容如下:

bash 复制代码
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

安装完成以后,我们需要注意,在windows 的 docker-desktop 中查看启动日志。

请特别注意,日志中包括 CUDA 的相关内容,足够证明 docker 镜像中能使用 CUDA,也就是能使用GPU。

2.7 安装 open webui + ollama3

这里我们不分别安装两次了,我们使用官方提供了的方法,一个镜像包括了 open webui 与 ollama3,更加方便。

在 WSL2 的命令行中输入如下命令:

bash 复制代码
sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

这是一个比较漫长的过程,我家千兆的带宽速度还可以,几分钟下载完成。

成功安装完成以后,我们前去查看 docker 的容器启动日志:

我们可以看到日志中提示 CUDA 可用,说明一切正常,安装成功。

使用浏览器访问本地的 3000 端口,可以看到内容如下,

注册一个账号,非常简单,没有什么限制,注册登录后,通过设置可以使用中文,

2.8 添加模型与选择模型

点击 管理员设置 以后,找到 模型 ,输入模型的编号即可自动下载模型。

这里以 qwen2 为例

下载的过程比较漫长,网速要快。

接着回到主界面,我们可以下拉 "选择一个模型",如下图所示(我总共下载了2个模型)

接着就可以正常聊天了 ~

2.9 验证大模型推断过程是基于GPU完成

在 windows 下,使用快捷键 Ctrl + Shift + Esc ,弹出如下 任务管理器窗口,接着选择左边导航栏中的 性能 可以看到如下内容:

接着我们在 open webui 中输入一个相对复杂的对话,让大模型推断时间久一些,然后同时观察 刚刚打开的窗口中 GPU 的变化情况。

2.10 验证重启后,模型依然存在

重启一下我们的个人电脑,重新启动我们前面创建的 container ,可以看到模型依然存在,之前完成的内容并不会因此而失效。

  1. 参考资料

https://developer.nvidia.com/cuda-downloads?target_os=Linux\&target_arch=x86_64\&Distribution=WSL-Ubuntu\&target_version=2.0\&target_type=runfile_local

https://docs.nvidia.com/cuda/wsl-user-guide/index.html

https://github.com/open-webui/open-webui/tree/main

  1. 总结

本文记录了自己安装部署 Ollama3 + open webui 并基于GPU推断的整个过程,由于篇幅问题,没有办法将所有我遇到的问题都记录下来,但可以基本确定的是,按照如上步骤完成部署安装,一般情况下是可以正常运行的。

感谢原文链接:https://blog.csdn.net/smileyan9/article/details/140391667

相关推荐
IT专业服务商6 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
海尔辛6 小时前
学习黑客5 分钟小白弄懂Windows Desktop GUI
windows·学习
gushansanren6 小时前
基于WSL用MSVC编译ffmpeg7.1
windows·ffmpeg
伐尘7 小时前
【Qt】编译 Qt 5.15.x For Windows 基础教程 Visual Studio 2019 MSVC142 x64
windows·qt·visual studio
专注代码七年7 小时前
在Windows 境下,将Redis和Nginx注册为服务。
windows·redis·nginx
q_q王9 小时前
Ubuntu源码版comfyui的安装
大模型·文生图·comfyui·工作流·图生视频
HuggingFace11 小时前
大模型评估排障指南 | 关于可复现性
大模型·llm
AI大模型顾潇11 小时前
[特殊字符] 本地部署DeepSeek大模型:安全加固与企业级集成方案
数据库·人工智能·安全·大模型·llm·微调·llama
pumpkin8451411 小时前
DeepSeek-R1-Distill-Qwen-1.5B代表什么含义?
ai
simple_whu13 小时前
开启WSL的镜像网络模式
windows·wsl