Ubuntu + Docker + NVIDIA 显卡 上部署 Ollama

如果是在 Ubuntu + Docker + NVIDIA 显卡 上部署 Ollama,推荐直接使用官方 Docker 镜像并开启 GPU 支持。

1. 检查显卡驱动

确认 NVIDIA 驱动已安装:

nvidia-smi

正常会看到类似:

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 550.xx Driver Version: 550.xx CUDA Version: 12.x |

+-----------------------------------------------------------------------------+

如果提示:

nvidia-smi: command not found

或者没有识别显卡,需要先安装驱动。


2. 安装 Docker

Ubuntu:

sudo apt update

sudo apt install -y </span>

ca-certificates </span>

curl </span>

gnupg </span>

lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | </span>

sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo </span>

"deb [arch=$(dpkg --print-architecture) </span>

signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] </span>

Index of linux/ubuntu/ </span>

$(lsb_release -cs) stable" | </span>

sudo tee /etc/apt/sources.list.d/docker.list

sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io

启动:

sudo systemctl enable docker

sudo systemctl start docker

测试:

docker --version


3. 安装 NVIDIA Container Toolkit

让 Docker 能调用 GPU。

添加仓库

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | </span>

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 | </span>

sed 's#deb https://#deb signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg https://#g' | </span>

sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

安装:

sudo apt update

sudo apt install -y nvidia-container-toolkit

配置 Docker:

sudo nvidia-ctk runtime configure --runtime=docker

重启 Docker:

sudo systemctl restart docker


4. 验证 Docker GPU

测试容器能否看到显卡:

docker run --rm --gpus all </span>

nvidia/cuda:12.6.0-base-ubuntu22.04 </span>

nvidia-smi

如果容器内输出显卡信息,说明 GPU 已正常透传。


5. 部署 Ollama

拉取镜像:

docker pull ollama/ollama

启动:

docker run -d </span>

--name ollama </span>

--restart unless-stopped </span>

--gpus all </span>

-p 11434:11434 </span>

-v ollama:/root/.ollama </span>

ollama/ollama

查看日志:

docker logs -f ollama


6. 下载模型

进入容器:

docker exec -it ollama bash

下载模型:

Qwen3

ollama pull qwen3:8b

DeepSeek R1

ollama pull deepseek-r1:8b

Llama 3

ollama pull llama3:8b


7. 测试运行

命令行

docker exec -it ollama ollama run qwen3:8b

输入:

你好

即可对话。

API

测试:

curl http://localhost:11434/api/generate </span>

-d '{

"model":"qwen3:8b",

"prompt":"介绍一下Ollama"

}'


8. 查看是否使用 GPU

安装模型运行后:

docker exec -it ollama ollama ps

或者直接观察:

watch -n 1 nvidia-smi

运行推理时看到 GPU 显存增加,例如:

GPU Memory Usage:

12000 MiB / 24576 MiB

说明 Ollama 已经在使用 GPU。


Docker Compose 方式(推荐)

docker-compose.yml

services:

ollama:

image: ollama/ollama:latest

container_name: ollama

restart: unless-stopped

ports:

  • "11434:11434"

volumes:

  • ollama:/root/.ollama

deploy:

resources:

reservations:

devices:

  • driver: nvidia

count: all

capabilities: gpu

volumes:

ollama:

启动:

docker compose up -d


常见问题

GPU 未识别

检查:

docker run --rm --gpus all ubuntu nvidia-smi

如果失败,通常是:

  • NVIDIA 驱动未安装
  • nvidia-container-toolkit 未安装
  • Docker 未重启

显存不足

查看模型大小:

模型 建议显存
Qwen3 4B 6GB+
Qwen3 8B 10GB+
DeepSeek-R1 8B 12GB+
Llama3 8B 10GB+
Qwen3 32B 24GB+
相关推荐
一航jason12 小时前
Android平台推理框架及试用场景模型对比
android·人工智能·ai·架构·ai编程·llama
一航jason12 小时前
Android 端侧大模型推理框架对比
android·人工智能·ai·ai编程·llama·ai-native
零依赖极客18 小时前
Day 8·1 自注意力机制:Q·K^T/softmax/V的在线计算
c语言·arm开发·人工智能·llama
微软技术分享3 天前
LLama-Factory 实现大模型LoRA-SFT微调指南
llama
七牛云行业应用4 天前
OpenCode 跑本地 Llama:编程 Agent 接入本地大模型的完整思路
人工智能·ai编程·llama
一航jason5 天前
GPU 推荐用吗?——8295 上 Adreno 695 的现实评估
人工智能·ai·ai编程·llama·ai-native
小饕7 天前
llama.cpp 参数调优指南:Jetson 8GB 实战手记
人工智能·llama·大模型端侧部署
chinesegf7 天前
现代互联网服务的经典架构
服务器·架构·llama
μθημα8 天前
Ollama 本地大模型部署实战:虚拟机环境下的完整操作指南
llama·maxkb
论文复现现场9 天前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力