文档中心>实践教程>GPU 云服务器>基于 Linux GPU 云服务器安装 NVIDIA Container Toolkit

基于 Linux GPU 云服务器安装 NVIDIA Container Toolkit

最近更新时间:2025-05-22 17:50:02

我的收藏

操作场景

在 Docker 中,容器默认无法直接访问宿主机的 GPU 资源。为了解决这一限制,NVIDIA 官方提供了 NVIDIA Docker 容器支持方案,用于将宿主机的 GPU 运行时环境映射到容器中。该方案经历了多个阶段的演进,从最初的 nvidia-docker、nvidia-docker2,发展到现在的 NVIDIA Container Toolkit。
NVIDIA Container Toolkit 是一套用于容器运行时环境的工具包,能够使容器具备使用 NVIDIA GPU 的能力。本文将介绍如何在 Linux GPU 云服务器使用腾讯云源安装 NVIDIA Container Toolkit。

操作步骤

实例环境准备

1. 检查 GPU 驱动是否已安装。
登录实例,执行如下命令确认 GPU 驱动是否正常安装:
nvidia-smi
若如下图所示,正常返回 GPU 设备说明已安装驱动;若返回提示 nvidia-smi: command not found 说明没有安装驱动,需参见 NVIDIA 驱动安装指引 安装 NVIDIA GPU 驱动。

2. 确保实例已安装并启动 docker 。
执行如下命令可以确认是否安装 docker 及启动 docker 服务。
docker ps
若返回如下图所示,说明已安装 docker 及正常启动。若未正常返回可参见 搭建 docker 安装 docker。

3. 检查是否未安装过 NVIDIA Container Toolkit。
通过如下命令尝试启动 GPU 容器:
docker run --gpus all [镜像名称]
若返回报错信息 docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]],说明当前系统没有安装 NVIDIA Container Toolkit,缺少必要的 GPU 驱动配置支持,无法识别并分配 GPU 资源给容器。

安装 NVIDIA Container Toolkit

1. 本步骤以腾讯云的 TencentOS Server、CentOS、RHEL、Rocky Linux 、Ubuntu、Debian 操作系统 GPU 服务器为例,若涉及其他操作系统请参见Installing the NVIDIA Container Toolkit
TencentOS Server/CentOS/RHEL/Rocky Linux
Ubuntu/Debian
curl -s -L https://mirrors.tencentyun.com/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo #配置nvidia-container-toolkit源
sed -i 's/nvidia.github.io/mirrors.tencentyun.com/g' /etc/yum.repos.d/nvidia-container-toolkit.repo #修改nvidia-container-toolkit源为腾讯云源
sudo yum install -y nvidia-container-toolkit #TencentOS 2.4/CentOS 7/RHEL 7 使用yum安装nvidia-container-toolkit
sudo dnf install -y nvidia-container-toolkit #TencentOS 3.1/TencentOS 4/CentOS 8/RHEL 8/RHEL 9/Rocky Linux 8/Rocky Linux 9 使用dnf安装nvidia-container-toolkit
sudo rpm -qa | grep nvidia-container-toolkit #查看NVIDIA Container Toolkit是否安装成功,若有nvidia-container-toolkit 相关软件信息说明安装成功
curl -fsSL https://mirrors.tencentyun.com/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\
&& curl -s -L https://mirrors.tencentyun.com/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 #配置nvidia-container-toolkit源
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list #启用experimental仓库
sed -i 's/nvidia.github.io/mirrors.tencentyun.com/g' /etc/apt/sources.list.d/nvidia-container-toolkit.list #修改nvidia-container-toolkit源为腾讯云源
sudo apt-get update #更新软件包列表
sudo apt-get install -y nvidia-container-toolkit #安装 NVIDIA Container Toolkit 软件包
sudo dpkg -l | grep nvidia-container-toolkit #查看NVIDIA Container Toolkit是否安装成功,若有nvidia-container-toolkit相关软件信息说明安装成功
2. 执行如下命令重启 docker 服务使 NVIDIA Container Toolkit 生效。
sudo systemctl restart docker