如果是在 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+ |