01_Docker 部署 Ollama 模型(支持 NVIDIA GPU)

在本地运行大模型时,Docker + Ollama 是非常方便的选择。
不过如果你需要调用显卡加速,就必须正确配置 WSL2 + NVIDIA Container Toolkit
本文将完整梳理安装流程,并提供可直接使用的 docker-compose.yml 配置。


1️⃣ 安装 Ubuntu WSL2

首先需要一个完整的 Linux 环境,这里使用 Ubuntu WSL2

PowerShell(管理员模式) 中执行:

wsl --install -d Ubuntu
  • 自动安装最新的 Ubuntu,并启用 WSL2 内核。
  • 安装完成后,首次进入会提示你创建用户名和密码。

查看当前已安装的发行版:

wsl -l -v

2️⃣ 启动并配置 Ubuntu

进入 Ubuntu 环境:

wsl -d Ubuntu

在 Ubuntu 内更新环境:

sudo apt update
sudo apt install -y curl gnupg

3️⃣ 安装 NVIDIA Container Toolkit

如果要让 Docker 使用 GPU,需要安装 NVIDIA Container Toolkit

🔹 验证是否已支持 GPU

运行测试命令:

docker run --rm --gpus all nvidia/cuda:12.3.0-base-ubuntu22.04 nvidia-smi
  • 成功:输出与你本机 nvidia-smi 类似的 GPU 信息。
  • 失败(如提示 could not select device driver "nvidia"):说明需要安装 Toolkit。

🔹 安装 Toolkit(WSL2 内执行)

# 添加 NVIDIA 软件源
curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | \
  sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://nvidia.github.io#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://mirrors.ustc.edu.cn#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 安装 Toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# 配置 Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

⚠️ 提示:在 Windows 主机 上,也要确认 Docker Desktop 已启用 WSL 2 后端(Settings > General > Use WSL 2 based engine),并且勾选了 GPU 选项。


4️⃣ 安装 Ollama Desktop(可选)

在 Windows 上可以先安装 Ollama Desktop,用来测试模型运行。

例如运行一个模型:

ollama run qwen2:7b

如果模型下载卡在 100% 或报错超时,记得配置代理。

测试运行是否正常,例如:

ollama run qwen2:7b --prompt "你好,请自我介绍一下"

5️⃣ Docker 部署 Ollama

下面是一个完整的 docker-compose.yml 配置,支持 GPU 加速。

version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    ports:
      - "11434:11434"   # Ollama API 端口
    volumes:
      - E:/ollama/models:/root/.ollama/models   # 模型目录映射
    runtime: nvidia
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
      - OLLAMA_ORIGINS=*
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,utility

启动容器:

docker-compose up -d

6️⃣ 测试 Ollama API

容器启动后,可以直接通过 API 调用模型:

curl http://localhost:11434/api/generate -d '{
  "model": "qwen2:7b",
  "prompt": "写一首关于秋天的诗"
}'

如果能得到正常返回,说明部署成功 🎉。


✅ 总结

  1. 安装 WSL2 + Ubuntu
  2. 配置 NVIDIA Container Toolkit,让 Docker 支持 GPU
  3. 安装 Ollama(Desktop 或 Docker)
  4. 通过 docker-compose.yml 部署并运行

这样,你就能在 Windows 上用 Docker + GPU 运行大模型了 🚀。

Logo

更多推荐