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+
相关推荐
SLD_Allen5 小时前
Purple Llama:Meta开源的LLM安全“紫队”工具箱
安全·开源·llama
俊俊谢10 小时前
从零搭建:本地LangChain Agent调用远程LLaMA-Factory模型服务
langchain·llama
heroboyluck1 天前
AI工程师第四课 - 深度学习入门
人工智能·python·深度学习·llama
Token炼金师4 天前
引擎四强:vLLM、SGLang、TensorRT-LLM 与 llama.cpp —— 推理引擎选型对决
人工智能·llm·llama·vllm·tensorrt-llm·sglang
尼米棕熊5 天前
大模型学习8上-推理部署框架llama.cpp与Ollama使用指北
学习·llama
Day(AKA Elin)5 天前
【Day】MTP(Multi Token Prediction)技术学习
python·深度学习·学习·llama
染指11105 天前
50.llama_index-文档分割器(文本)
llama·rag·llamaindex
Scabbards_7 天前
经典大语言模型框架整理(gpt/llama/chatglm/qwen/deepseek)
gpt·语言模型·llama
染指11109 天前
46.llama_index-提示词模板(富提示词模板、jinja2静态和动态模板)
llama·rag·llamaindex