WSL2+Docker+Ollama,本地部署大模型实践(Qwen1.8b)

本篇文章主要讲解部署思路和实践经验,先解释一下WSL2、Docker、Ollama。

  1. WSL2 :可以通俗理解成轻量化虚拟机,但和传统 VMware/VirtualBox 虚拟机不一样。它是 Windows 内置的轻量 Linux 内核,不用单独装完整的 Linux 虚拟机,性能损耗更低,能直接在 Windows 上跑 Linux 程序。
  2. Docker:容器化引擎。用来在 Linux 环境里打包、运行应用服务。我们这里用 Docker 把 Ollama 这个软件打包成容器,隔离环境,一键启动。
  3. Ollama:大模型管理工具。专门负责大模型的下载、本地加载、推理运行,并对外提供 HTTP 接口。

详细说明:

  • WSL2:Windows 内置 Linux 子系统,不需要安装虚拟机,性能比 VMware 更好;
    Docker:容器引擎,用来运行 Ollama 服务程序;
    Ollama:大模型管理工具,负责拉取、加载、运行 LLM;
    两层镜像 / 模型区分(新手极易混淆)
    • Docker 镜像:ollama/ollama,Ollama 软件包,Docker 负责管理;
    • LLM 大模型权重:qwen:1.8b,千问模型,Ollama 负责管理,存放在 D 盘挂载目录。

目录

一、安装 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
相关推荐
szxinmai主板定制专家18 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮19 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
Decay__19 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝19 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
DarkAthena20 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
NailiConveyor21 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
小沈同学呀21 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
Lsetea21 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若12321 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好21 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节