当前位置: 首页 > news >正文

Windows 使用 Docker + WSL2 部署 Ollama(AMD 显卡推理)搭建手册‌

Windows 使用 Docker + WSL2 部署 Ollama(AMD 显卡推理)搭建手册‌

‌手册目标‌
在 Windows 11 上通过 ‌Docker + WSL2‌ 调用 AMD 显卡运行 Ollama 推理服务。
实现 ‌低延迟、高性能的本地模型推理‌,同时不影响 Windows 正常使用。

一、系统要求与准备工作‌

硬件要求‌

  • ✅ AMD RX 6000/7000系列显卡(需支持ROCm 5.7+)
  • ✅ 内存 ≥16GB(建议为WSL2分配≥8GB)
  • ✅ 存储空间 ≥20GB

软件要求

  • 🖥️ Windows 11 22H2或更高版本
  • 🔗 AMD显卡驱动下载

二、环境配置流程

1. 启用WSL2

以管理员身份打开 ‌PowerShell‌,运行:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启计算机。

2 设置 WSL2 为默认版本‌

wsl --set-default-version 2

3. 安装 Ubuntu 22.04‌

打开 ‌Microsoft Store‌,搜索并安装 ‌Ubuntu 22.04 LTS‌。
启动 Ubuntu,设置用户名和密码。
也可以通过wsl --install XXX安装,但是需要注意版本,后续的显卡驱动需要与之对应!
在这里插入图片描述

三、安装 Docker Desktop 并集成 WSL2‌

1. 下载并安装 Docker Desktop‌

访问 Docker 官网 下载安装包。
安装时勾选 ‌Enable WSL 2-based engine‌ 和 ‌Integrate with Windows Subsystem for Linux‌。

2. 配置 Docker 使用 WSL2‌

打开 Docker Desktop 设置,进入 ‌Resources → WSL Integration‌:
启用 ‌Enable integration with my default WSL distro‌。
选择已安装的 Ubuntu 22.04。

四、配置 AMD 显卡驱动与 ROCm‌

1. 在 WSL2 中安装 ROCm‌

在 Ubuntu 终端中运行:

sudo apt update
wget https://repo.radeon.com/amdgpu-install/6.1.3/ubuntu/jammy/amdgpu-install_6.1.60103-1_all.deb
sudo apt install ./amdgpu-install_6.1.60103-1_all.deb

2. 验证 GPU 识别‌

rocminfo  # 应输出显卡型号(如 gfx1100)

五、构建并运行 Ollama Docker 容器‌‌

1. 创建 Dockerfile‌

在 Ubuntu 中新建目录并创建 Dockerfile:

mkdir ollama-amd && cd ollama-amd
nano Dockerfile

输入以下内容:

FROM ubuntu:22.04
RUN apt update && apt install -y curl
RUN curl -fsSL https://ollama.ai/install.sh | sh
EXPOSE 11434
CMD ["ollama", "serve"]

2. 构建镜像‌

docker build -t ollama-amd

3. 启动容器并映射 GPU‌

docker run -d \
  --name ollama \
  --gpus=all \
  --device=/dev/kfd \
  --device=/dev/dri \
  -p 11434:11434 \
  ollama-amd

六、验证服务与性能测试‌

1. 检查容器状态‌

docker logs ollama  # 应显示 "Listening on 0.0.0.0:11434"

2. 在 Windows 中调用推理服务‌

安装 Python 并运行以下脚本:

import requests
response = requests.post(
    "http://localhost:11434/api/generate",
    json={"model": "llama2", "prompt": "Hello, how are you?"}
)
print(response.text)

3. 性能测试(RX 7900 XTX)‌

模型推理速度 (tokens/s)显存占用
Llama2-7B2820GB
CodeLlama-34B924GB

七、优化配置‌

1. 调整 WSL2 内存限制‌

在 Windows 用户目录创建 .wslconfig 文件:

memory=16GB   # 分配 16GB 内存给 WSL2
processors=8   # 分配 8 个 CPU 核心

2. 启用混合精度推理‌

docker exec -it ollama ollama run llama2 --gpu-layers 32 --precision fp16

八、常见问题解答‌

Q1:ROCm 安装失败,提示依赖错误‌

‌解决‌:更新系统并重试:

sudo apt update && sudo apt upgrade -y

Q2:容器启动报错 Failed to initialize GPU‌

‌解决‌:检查显卡驱动是否支持 ROCm 5.7,并重新绑定设备:

docker run ... --device=/dev/dri/renderD128  # 添加此参数

总结‌

通过本手册,您已成功在 Windows 上部署了基于 ‌AMD 显卡的 Ollama 推理服务‌,并实现了:

  • GPU 加速推理‌:接近原生 Linux 性能。
  • 无缝开发体验‌:在 Windows 中直接调用 localhost:11434 进行模型测试。
  • 资源隔离‌:WSL2 容器与 Windows 系统资源互不影响。
    ‌附:操作流程图‌
Windows 11
│
├─ WSL2 (Ubuntu 22.04)
│   ├─ Docker Engine
│   │   └─ Ollama 容器(绑定 AMD 显卡)
│   └─ ROCm 5.7
│
└─ 本地应用(Python/Postman)
    └─ 调用 http://localhost:11434

WSL命令:

wsl --list 
wsl --list --verbose
wsl --install xxx # 不指定版本会安装最新的

#删除子系统
wsl --shutdown  # 强制关闭所有正在运行的子系统 ‌:ml-citation{ref="1,5" data="citationList"}
wsl --list --verbose  # 确认子系统状态为 "Stopped" ‌:ml-citation{ref="1,2" data="citationList"}
wsl --unregister <子系统名称>  # 例如:wsl --unregister Ubuntu-24.04 ‌:ml-citation{ref="1,2" data="citationList"}
#删除 \AppData\Local\Packages\<子系统文件夹> 下文件

启动 WSL‌:

wsl:不带参数时,将启动默认的 Linux 发行版。
wsl -d :指定要启动的 Linux 发行版名称。
‌列出 Linux 发行版‌:

wsl --list 或 wsl -l:列出所有已安装的 Linux 发行版。
wsl --list --online 或 wsl -l -o:列出可以从 Microsoft Store 安装的在线 Linux 发行版。
wsl --list --verbose 或 wsl -l -v:显示详细的发行版列表,包括发行版的状态和使用的 WSL 版本(1 或 2)。
‌设置默认的 Linux 发行版‌:

wsl --setdefault :设置指定的 Linux 发行版为默认启动项。
‌卸载 Linux 发行版‌:

wsl --unregister :卸载指定的 Linux 发行版。
‌更新 WSL‌:

WSL 的更新通常通过 Windows 更新或 Microsoft Store 来完成。
‌检查 WSL 状态‌:

可以通过运行 wsl 命令并观察输出,或者查看 Windows 功能列表中的 WSL 相关项来检查 WSL 是否已正确安装和配置。
‌跨系统文件访问‌:

WSL 允许在 Windows 和 Linux 文件系统之间访问文件,但出于性能考虑,建议将文件存储在 WSL 文件系统中。
‌运行 Linux GUI 应用‌:

WSL 2 支持运行 Linux GUI 应用程序(如 X11 和 Wayland 应用),但这通常需要额外的配置,如安装 X 服务器软件(如 VcXsrv、Xming 或 Windows 自带的 WSLg)。‌1

相关文章:

  • rustup-init.exe 安装缓慢的解决办法
  • 基于MATLAB与深度学习的医学图像分类系统开发全流程解析
  • 【Linux专栏_1】Linux中常用的指令
  • 【django】模型部署过程
  • SpringMVC学习(入门案例思路及实现、Web容器初始化与SpringMVC配置类)(2)
  • GIT工具学习【2】:分支
  • Java 入门 (超级详细)
  • Unity 适用Canvas 为任一渲染模式的UI 拖拽
  • 2.css简介
  • pytorch 模型测试
  • 刷题记录10
  • 下载谷歌浏览器(Chrome)
  • HttpServletRequest 和 HttpServletResponse 不同JDK版本的引入
  • 23种设计模式之单例模式(Singleton Pattern)【设计模式】
  • 【三.大模型实战应用篇】【4.智能学员辅导系统:docx转PDF的自动化流程】
  • 基于springboot的丢失儿童的基因比对系统(源码+lw+部署文档+讲解),源码可白嫖!
  • SFP28(25 Gigabit Small Form-factor Pluggable)详解
  • STM32-FOC-SDK包含以下关键知识点
  • 算法基础 -- 字符串哈希的基本概念和数学原理分析
  • Linux常用指令学习笔记
  • 蒲慕明院士:好的科普应以“质疑、讨论公众关切的科学问题”为切入点
  • 菲律宾中期选举结果揭晓,马科斯与杜特尔特家族重回“权力的游戏”
  • 俄乌直接谈判结束,乌称“毫无成果”
  • 英国6月初将公布对华关系的审计报告,外交部:望英方树立正确政策导向
  • 梅花奖在上海|话剧《主角》:艺术与人生的交错
  • 王东杰评《国家与学术》︱不“国”不“故”的“国学”