当前位置:首页>Linux>Linux GPU服务器安装NVIDIA Container Toolkit指南

Linux GPU服务器安装NVIDIA Container Toolkit指南

  • 2026-09-05 02:20:33
Linux GPU服务器安装NVIDIA Container Toolkit指南

随着大语言模型(LLM)与深度学习(Deep Learning)的爆发式发展,GPU已成为不可或缺的算力核心。然而对开发者和运维人员而言,如何高效、灵活地管理和隔离这些昂贵的GPU资源,已成为一项必备的技能。

NVIDIA Container Toolkit是NVIDIA提供的一个为NVIDIA GPU提供容器化支持的工具包,实现Docker容器直接访问GPU资源,而无需繁琐的配置。

1、什么是NVIDIA Container Toolkit?

在深入介绍NVIDIA Container Toolkit之前,先聊聊它的前身——nvidia-docker。这个名字对于资深的AI工程师来说一定不陌生,它曾是GPU容器化时代的标志性工具。

Nvidia-docker是NVIDIA提供的最初的容器访问主机GPU的解决方案,且配置非常繁琐:需要在容器内手动安装CUDA工具包,还要把主机的GPU设备文件和驱动库挂载进容器。

这不仅配置复杂,还容易因版本冲突导致各种问题,背离了容器化部署的初衷,所以NVIDIA Container Toolkit应运而生。

阶段
组件/版本
关键特点
早期
nvidia-docker 1.0
独立的命令行工具,需使用nvidia-docker run命令
中期
nvidia-docker 2.0
nvidia-container-runtime
作为Docker运行时插件
现在
NVIDIA Container Toolkit

统一整合,与Docker 19.03+原生集成,支持--gpus参数

NVIDIA官方文档明确指出:nvidia-docker2和nvidia-container-runtime软件包应被视为已弃用,它们的功能已与nvidia-container-toolkit软件包合并。如今的NVIDIA Container Toolkit是一个功能更完善的集合,不仅支持Docker,还能与其他容器运行时(如containerd、CRI-O、Podman)集成。

NVIDIA Container Toolkit是NVIDIA提供的用于在容器化环境中运行GPU应用的工具集,包括一个容器运行时库(nvidia-container-runtime)和实用程序(nvidia-ctk、nvidia-cdi-hook等)用于自动配置容器以使用NVIDIA GPU。通常与docker配合使用,开发者可以将基于NVIDIA GPU的应用build一个镜像并在容器中运行。

图片来源:github.com

2、如何安装NVIDIA Container Toolkit

2.1 安装前准备

(1)检查NVIDIA驱动安装

安装NVIDIA Container Toolkit之前需要先安装NVIDIA GPU驱动,参见:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/

(2)系统支持情况

NVIDIA Container Toolkit支持的操作系统版本如下:

本文以Ubuntu 22.04为例进行安装演示。

(3)安装docker

1、添加docker的官方GPG keysudo apt-getupdatesudo apt-get install ca-certificates curlsudo install -m0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc2、添加apt源echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \  $(. /etc/os-release && echo"${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null3、安装dockersudo apt-getupdatesudo apt-getinstall docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin4、启动dockersystemctl start docker

注意:这里有一个已知问题,当使用systemd cgroup driver时,执行systemctl daemon-reload会导致容器失去GPU的访问,官方给了解决办法:

vim /etc/docker/daemon.json{"exec-opts": ["native.cgroupdriver=cgroupfs"]}systemctl restart docker

2.2安装NVIDIA Container Toolkit

(1)安装依赖包

apt-getupdate && sudo apt-get install -y --no-install-recommends \ca-certificates \   curl \   gnupg2

(2)配置apt源

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

(3)安装NVIDIA Container Toolkit

apt updateapt install nvidia-container-toolkit #这条命令会安装四个包:nvidia-container-toolkit nvidia-container-toolkit-base libnvidia-container-tools libnvidia-container1

(4)配置docker运行时环境

安装完NVIDIA Container Toolkit之后,需要对docker进行配置,主要是修改docker的运行时环境:

sudo nvidia-ctk runtime configure --runtime=dockersystemctl daemon-reloadsystemctl restart docker

确认运行时:

3、运行实例负载

在正确安装和配置NVIDIA GPU驱动以及NVIDIA Container Toolkit之后,可以通过运行示例工作负载来验证安装情况。

(1)拉取CUDA镜像

docker pull nvcr.io/nvidia/cuda:latest

(2)运行CUDA容器

这里启动CUDA容器,并简单运行nvidia-smi命令查询GPU运行状态:

#查看所有GPU列表docker run --rm --gpus all nvcr.io/nvidia/cuda:latest nvidia-smi -L#查询所有GPU状态docker run --rm --gpus all nvcr.io/nvidia/cuda:latest nvidia-smi#仅将GPU1/GPU2分配给容器docker run --rm --gpus '"device=1,2"' nvcr.io/nvidia/cuda:latest nvidia-smi -L
输出示例:

(3)部署AI应用

这里简单使用pytorch镜像,在容器内使用python打印cuda是否可用:

# 拉取PyTorch镜像docker pull pytorch/pytorch:latest# 运行PyTorch容器docker run --gpus all -it --rm pytorch/pytorch:latest python -c "import torch; print(torch.cuda.is_available())"

运行结果正常返回True:

总结:

NVIDIA Container Toolkit是容器化GPU应用的基础工具。通过本文的指导,你应该能够在Linux GPU服务器上成功安装和配置该工具包,让Docker容器充分利用GPU加速能力。无论是在深度学习开发、模型训练还是推理部署中,掌握这一工具都将极大提升你的工作效率。

关注“AI云智工坊”,聚焦云计算、大模型、AI前沿技术实战和分享。
如您有任何的建议与指正,敬请在文章底部留言,感谢不吝指教!
如您看完有所受益,欢迎点击文章底部左下角“关注”并点击“点赞”、“分享”、“推荐”,非常感谢!

最新文章

随机文章