在WSL2上使用Docker部署Ollama
本文只针对N卡 其它显卡请自行查找方法
网络问题也请自行解决
本文使用环境
系统: Windows 10 IoT 企业版 LTSC 21H2
CPU: AMD Ryzen 7 5800H
内存: DDR4 3200Mhz 16G x2
GPU: NVIDIA GeForce RTX 3060 Laptop
1. WSL2
1.1 WSL2简介
WSL2(Windows Subsystem for Linux 2)是微软推出的第二代 Linux 子系统,允许用户在 Windows 上无缝运行原生 Linux 环境。
1.2 启用WSL2
查看是否已经开启CPU虚拟化 若未开启 请自行搜索相关教程
搜索启用或关闭Windows功能
勾选Hyper-V , Windows虚拟机监控程序平台 , 适用于Linux的Windwos子系统 , 虚拟机平台
等待启用
重启电脑
1.3 安装WSL2
按Win+R打开运行 输入cmd回车打开命令行
输入wsl --status
查看wsl2状态
wsl --status
根据提示更新wsl2内核
wsl --update
等待安装完成
1.4 安装Linux发行版
输入wsl -l -o
查看可安装的Linux发行版
wsl -l -o
根据提示安装 这里选择Ubuntu 24.04 LTS
wsl.exe --install Ubuntu-24.04
若无法下载 可尝试使用--web-download
wsl.exe --install Ubuntu-24.04 --web-download
等待下载
下载完成后根据提示启动
wsl.exe -d Ubuntu-24.04
输入你的用户名
输入并确认密码 这里密码不会显示出来
完成安装
2. Docker
2.1 Docker简介
Docker是一种轻量级的虚拟化技术,同时是一个开源的应用容器运行环境搭建平台,可以让开发者以便捷方式打包应用到一个可移植的容器中。
2.2 安装Docker Desktop
点击Download Docker Desktop 选择Download for Windows - AMD64
勾选Use WSL2
等待安装
点击Close and log out 这里会注销账户
点击Accept
点击Continue without signing in
点击Skip
2.3 配置Docker Desktop
点击右上角设置
选择Resources
选择WSL integration 启用Ubuntu-24.04
点击Apply & restart
2.4 安装Ollama
Ollama 是一个开源的轻量级框架,旨在帮助用户在本地计算机上快速部署和运行大型语言模型(LLMs),无需依赖云端服务。它专注于简化模型的下载、配置和交互流程,尤其适合开发者、研究人员或对隐私和数据控制有要求的用户。(由deepseek-r1生成)
在cmd中使用wsl.exe -d Ubuntu-24.04进入Ubuntu终端
wsl.exe -d Ubuntu-24.04
使用sudo su切换到root账户
sudo su
输入密码 这里密码不会显示
前往ollama docker镜像页面
点击copy复制命令
输入命令
等待下载
根据ollama docker镜像页面的提示配置
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/stable/deb/nvidia-container-toolkit.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
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
这里可以会报错 因为没有安装systemctl,可以用windows任务栏找到docker desktop 右键点击restart重启docker
启动容器
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
2.5 安装模型
使用dokcer ps查看ollama容器id
docker ps
使用 docker exec -it '容器id' /bin/bash 连接到容器
docker exec -it '容器id' /bin/bash
ollama提供了一个模型库
在这里找到你需要的模型
这里选择deepseek-r1
根据你的需求选择不同参数量的模型 这里选择7b
点击右侧图标复制命令
输入命令 等待下载
下载完成后即可与模型对话
使用ollama run deepseek-r1:7b --verbose
可以显示性能信息
ollama run deepseek-r1:7b --verbose
使用Ctrl+D或者/bye即可结束对话
使用exit断开容器连接
exit
3. WebUI
在命令行中使用终归还是有些不方便的 所以我们把ollama接入其它工具中 这里使用OpenWebUI
3.1 安装OpenWebUI
依旧使用docker部署 OpenWebUI文档
拉取镜像
docker pull ghcr.io/open-webui/open-webui:main
启动OpenWebUI
docker run -d -p 3000:8080 --gpus all -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:cuda
打开浏览器 输入 http://localhost:3000/ 进入webui
点击开始使用
创建管理员账户
点击确认 开始使用
即可开始对话