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+
相关推荐
打工仔折腾 AI14 小时前
LLaMA 1 到 LLaMA 3 架构演进拆解:从 RoPE、GQA 到词表扩张
人工智能·后端·python·深度学习·langchain·llama
倔强的石头10618 小时前
LLaMA系列架构详解_Meta开源大模型的技术演进
开源·大模型·llama
梅雅达编程笔记6 天前
开源模型的安全悖论——越开放,越危险?
llama·qwen·开源大模型·ai安全·模型越狱·权重投毒·大模型治理
白萝卜弟弟6 天前
【大模型Qwen3.8 27B】llama.cpp 本地大模型部署与使用
ai·大模型·agent·llama·qwen3.8
仙人掌_lz7 天前
3090 上的部署两种基于Qwen3.5-4B 判别模型open jev:llama.cpp和 vLLM ,谁更快、谁更准
人工智能·llm·llama·vllm·判别模型·jev
代数狂人7 天前
异构双卡大模型部署指南:18GB显存突破单卡瓶颈 llama.cpp 层并行部署
llama
写bug如流水7 天前
【LLM】Qwen3.5 35B A3B 单卡 RTX 3090 部署教程
人工智能·llama
promanz8 天前
llamap.cpp 和 llama-index连接
人工智能·llama
GPU实战笔记15 天前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama
牛马工作号17 天前
RK3588 使用 rk-llama.cpp + RKNPU2 部署 Qwen3.5:从零开始的 NPU 本地大模型实战
人工智能·语言模型·llama