Nvidia Container Toolkit安装教程

本教程适用于DebianRHEL系列的Linux系统,使用Ubuntu24.04进行演示,分别提供了联网安装方式和离线安装方式,适用于网络较好的用户及网络较差的用户,希望本篇文章能为你解决问题。

本文章已经默认您拥有了一定Docker的基础,如果您第一次尝试使用Docker请先查看这篇文章【容器应用系列教程】容器介绍、Docker的安装和基本操作

一、安装Docker

可以参考这篇文章Docker安装教程

二、安装Nvidia Container Toolkit

1.使用联网方式安装

如果您的网络条件较差,可以跳过联网方式安装,直接使用离线方式安装

配置存储库

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && 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/$distribution/libnvidia-container.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

更新缓存

sudo apt-get update

安装Nvidia Container Toolkit

sudo apt-get install -y nvidia-container-toolkit	#网络条件不好的这一步可能会很慢

修改daemon.json文件

sudo nvidia-ctk runtime configure --runtime=docker

重启Docker守护进程

sudo systemctl restart docker

测试安装

sudo nvidia-ctk --version
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

#如果输出以下信息代表安装成功

Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
20043066d3d5: Pull complete
Digest: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54
Status: Downloaded newer image for ubuntu:latest
Mon Dec 22 05:19:01 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.44.01              Driver Version: 591.44         CUDA Version: 13.1     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     On  |   00000000:01:00.0  On |                  N/A |
| 42%   51C    P0             64W /  250W |    1266MiB /  22528MiB |      7%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A              25      G   /Xwayland                             N/A      |
|    0   N/A  N/A              48      G   /Xwayland                             N/A      |
+-----------------------------------------------------------------------------------------+

如果使用联网方式安装完成,即可结束本教程,恭喜您已经配置完成了!

2.使用离线方式安装

自行下载NVDIA Github上存储库中的文件,上传到服务器

https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/deb/amd64

这个存储库除了提供deb安装包,还有rpm包,本教程使用Ubuntu24.04进行演示

使用搜索功能,搜索最新的版本号(截至文章撰写日期最新版本为1.18.1),具体安装包的功能如下,其中最后两个包可选择不安装

libnvidia-container1_1.18.1-1_amd64.deb		#基础库包,提供了最基本的功能,其他包都依赖于它
libnvidia-container-tools_1.18.1-1_amd64.deb	#基础工具包,依赖于 libnvidia-container1
nvidia-container-toolkit-base_1.18.1-1_amd64.deb	#基础组件包,依赖于前面的包
nvidia-container-toolkit_1.18.1-1_amd64.deb		#主要的工具包,依赖于以上所有包
libnvidia-container-dev_1.18.1-1_amd64.deb		#开发包,只在进行开发时使用(可不装)
libnvidia-container1-dbg_1.18.1-1_amd64.deb		#调试符号包,只在调试问题时使用(可不装)

下载好后安装包

sudo dpkg -i *.deb
#或者使用下面的命令逐一安装,注意安装前后顺序
sudo dpkg -i libnvidia-container1_1.18.1-1_amd64.deb
sudo dpkg -i libnvidia-container-tools_1.18.1-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit-base_1.18.1-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit_1.18.1-1_amd64.deb
sudo dpkg -i libnvidia-container-dev_1.18.1-1_amd64.deb
sudo dpkg -i libnvidia-container1-dbg_1.18.1-1_amd64.deb

修改daemon.json

sudo nvidia-ctk runtime configure --runtime=docker

测试安装

sudo nvidia-ctk --version
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

#如果输出以下信息代表安装成功

Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
20043066d3d5: Pull complete
Digest: sha256:c35e29c9450151419d9448b0fd75374fec4fff364a27f176fb458d472dfc9e54
Status: Downloaded newer image for ubuntu:latest
Mon Dec 22 05:19:01 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.44.01              Driver Version: 591.44         CUDA Version: 13.1     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     On  |   00000000:01:00.0  On |                  N/A |
| 42%   51C    P0             64W /  250W |    1266MiB /  22528MiB |      7%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A              25      G   /Xwayland                             N/A      |
|    0   N/A  N/A              48      G   /Xwayland                             N/A      |
+-----------------------------------------------------------------------------------------+