本篇文章主要讲解部署思路和实践经验,先解释一下WSL2、Docker、Ollama。
- WSL2 :可以通俗理解成轻量化虚拟机,但和传统 VMware/VirtualBox 虚拟机不一样。它是 Windows 内置的轻量 Linux 内核,不用单独装完整的 Linux 虚拟机,性能损耗更低,能直接在 Windows 上跑 Linux 程序。
- Docker:容器化引擎。用来在 Linux 环境里打包、运行应用服务。我们这里用 Docker 把 Ollama 这个软件打包成容器,隔离环境,一键启动。
- Ollama:大模型管理工具。专门负责大模型的下载、本地加载、推理运行,并对外提供 HTTP 接口。
详细说明:
- WSL2:Windows 内置 Linux 子系统,不需要安装虚拟机,性能比 VMware 更好;
Docker:容器引擎,用来运行 Ollama 服务程序;
Ollama:大模型管理工具,负责拉取、加载、运行 LLM;
两层镜像 / 模型区分(新手极易混淆)- Docker 镜像:
ollama/ollama,Ollama 软件包,Docker 负责管理; - LLM 大模型权重:
qwen:1.8b,千问模型,Ollama 负责管理,存放在 D 盘挂载目录。
- Docker 镜像:
目录
- [一、安装 WSL 发行版(Ubuntu22.04,离线导入 D 盘)](#一、安装 WSL 发行版(Ubuntu22.04,离线导入 D 盘))
- [二、WSL Ubuntu 内安装 Docker](#二、WSL Ubuntu 内安装 Docker)
- 三、拉取ollama镜像,启动ollama容器
- 四、通过ollama服务端拉取Qwen:1.8b模型
- 五、启动模型,进行验证
一、安装 WSL 发行版(Ubuntu22.04,离线导入 D 盘)
1.安装 WSL 发行版(Ubuntu22.04,离线导入 D 盘),这里不采取自动拉取安装,原因是WSL默认会安装到C盘,占用电脑磁盘内存,所以采取下载Ubuntu22.04的安装包,离线安装。
Ubuntu22.04的安装包地址:链接:https://pan.quark.cn/s/99113a44a14b?pwd=7YLx
提取码:7YLx
这里也说一下怎么在线安装,用管理员身份打开终端(PowerShell),执行命令
bash
wsl --install

采用离线安装,下载完安装包后,用管理员身份打开终端(PowerShell),这里我们使用离线 rootfs 包导入方式,将 Ubuntu22.04 安装到 D 盘,避免占用 C 盘空间,
导入离线包Ubuntu22.04
bash
# 离线导入Ubuntu22.04到D盘
wsl --import Ubuntu2204 D:\wsl\Ubuntu2204 D:\xxx\ubuntu-22.04.5-wsl-amd64.rootfs.tar.gz --version 2
进入Ubuntu
bash
# 进入Ubuntu,默认root管理员账号
wsl -d Ubuntu-2204

可以创建一个自己的用户,设置每次进入Ubuntu登陆的用户,这里就不过多讲解了,如果不设置后边很多命令都要开头加上sudo

二、WSL Ubuntu 内安装 Docker
我这里直接用最简单,安装 ubuntu 自带的docker.io,docker安装的方式有很多自行百度即可,这里不过多详解。
bash
apt install docker.io -y
bash
systemctl enable docker
systemctl start docker
bash
docker --version
docker ps
docker镜像源可以使用这个,设置这个的目的是为了拉取ollama的镜像,无脑全部复制在Ubuntu执行
bash
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
EOF
三、拉取ollama镜像,启动ollama容器
打开 D 盘,新建文件夹:wsl_ollama_models
完整路径:
D:\wsl_ollama_models
启动ollama容器,这里没有pull ollma直接run了,因为docker在运行容器的时候如果没有找到镜像会自动下载。也可以采取自动拉取镜像后再运行容器,两种方案自行选择,我选的是方案1。
方案1
bash
# 拉取ollama镜像
docker pull ollama/ollama
# 启动容器(挂载数据目录,方便保存模型)
docker run -d -v /mnt/d/wsl_ollama_models:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
方案2 说明:/mnt/d/wsl_ollama_models 就是 Windows D 盘的文件夹,模型全部保存在 D 盘。
bash
docker run -d \
-v /mnt/d/wsl_ollama_models:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollama

四、通过ollama服务端拉取Qwen:1.8b模型
两种方案实现拉取千问模型,我采用了方案1
方案1
进入 ollama 容器内部
bash
docker exec -it ollama bash
拉取千问模型
bash
ollama pull qwen:1.8b
方案 2
不用进容器,在 WSL 终端用 curl 调用 API 拉模型,适合不想进入容器的场景:
bash
curl http://localhost:11434/api/pull -d '{"name":"qwen:1.8b"}'


五、启动模型,进行验证
下载完成之后,在容器内部运行Qwen1.8
bash
ollama run qwen:1.8b
