🚀【GPU容器环境搭建】Linux 安装 NVIDIA 容器工具包 + Containerd 完整指南(含驱动、CUDA、测试)
本文将为你提供一整套适用于 GPU 容器开发场景的环境搭建指南,包括:
- NVIDIA 驱动安装
- CUDA 配置
- NVIDIA 容器工具包
- containerd + GPU 支持
- 测试 CUDA 容器运行结果
适用于:使用 GPU 训练/部署 AI 模型、基于容器的开发平台、构建轻量化运行时等场景。
✅ 一、安装 NVIDIA GPU 驱动程序
1. 检查显卡型号
lspci | grep -i nvidia
确认系统识别了 NVIDIA 显卡后继续。
2. 安装驱动程序
推荐使用系统的包管理工具或官方 .run
文件安装(推荐 Ubuntu 官方 PPA 或 NVIDIA 官网):
方法一:使用包管理器(推荐)
sudo apt update
sudo apt install gcc make dkms
sudo ubuntu-drivers autoinstall
方法二:使用 .run
文件(通用)
- 从 NVIDIA 驱动下载页 获取适配
.run
文件; - 将文件通过
scp
拷贝到服务器:
scp NVIDIA-Linux-xxx.run user@remote:/tmp/
- SSH 登录远程服务器,执行安装:
cd /tmp
chmod +x NVIDIA-Linux-xxx.run
sudo ./NVIDIA-Linux-xxx.run
3. 验证驱动是否安装成功
nvidia-smi
成功输出类似如下信息则表示驱动正常:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.54.03 Driver Version: 535.54.03 CUDA Version: 12.2 |
+-----------------------------------------------------------------------------+
⚙️ 二、安装 CUDA(可选)
CUDA 是用于 GPU 编程的重要组件,推荐安装:
1. 下载与安装 CUDA Toolkit
- 访问 CUDA Toolkit 官方页面
- 选择与你驱动/系统兼容的版本
- 下载安装(建议 local run 安装方式)
sudo apt install wget
wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_*.run
sudo sh cuda_12.0.0_*.run
2. 配置环境变量
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
source ~/.bashrc
3. 验证 CUDA 安装
nvcc -V
📦 三、安装 NVIDIA 容器工具包
该工具包用于将主机 GPU 映射至容器中,支持 containerd 或 Docker。
1. 添加软件源与 GPG 密钥
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | 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 |
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' |
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
2. 安装工具包
sudo apt update
sudo apt install -y nvidia-container-toolkit
3. 检查安装
nvidia-container-runtime --version
dpkg -l | grep nvidia-container-toolkit
🧩 四、配置 containerd 支持 NVIDIA
1. 生成默认配置文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
2. 编辑 config.toml 添加 NVIDIA 支持
在 [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
区块添加:
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
runtime_type = "io.containerd.runc.v1"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
BinaryName = "/usr/bin/nvidia-container-runtime"
SystemdCgroup = true
保存后执行:
sudo systemctl restart containerd
🔎 五、验证 GPU 容器可用性
1. 使用 ctr 运行测试容器
sudo ctr image pull docker.io/nvidia/cuda:11.0-base
sudo ctr run --rm --gpus 0 docker.io/nvidia/cuda:11.0-base test nvidia-smi
2. 使用 nerdctl 测试 GPU 加速
# 拉取镜像
sudo nerdctl pull nvidia/cuda:11.0.3-base-ubuntu20.04
# 运行容器
sudo nerdctl --namespace=k8s.io run --rm -it --gpus all docker.io/nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
🧪 六、运行 SD 镜像测试 Sygil WebUI
sudo nerdctl --namespace=k8s.io run -d -p 8501:8501 --gpus all tukirito/sygil-webui:latest
如果镜像运行正常,说明 GPU 已成功挂载进容器,并可支持大模型部署如 Stable Diffusion。
🧵 七、总结
- ✅ 驱动装好了吗?
nvidia-smi
检查一下 - ✅ CUDA 能用了?
nvcc -V
验证 - ✅ 容器识别 GPU?用
ctr
/nerdctl
跑个nvidia-smi
试试 - ✅ WebUI 上线成功?那你可以开始部署 AI 任务了!
这篇配置指南适合想在服务器上部署 GPU 推理容器、训练 AI 模型、玩转 Sygil WebUI 的你。
如果你觉得有用,欢迎点赞收藏!
有不懂的可以留言,我可以帮你定制 PDF 或打包镜像~