如果需要更好阅读模式,可以点击这里前往我博客
NVIDIA Container Toolkit方案介绍
NVIDIA Container Toolkit 是一个工具集,它允许在 Docker 或其他容器运行时(如 containerd, Podman)中轻松地运行支持 GPU 加速的容器。它本质上是容器运行时和主机上的 NVIDIA GPU 驱动程序之间的“桥梁”。
无缝体验: 使用简单的命令行标志(如 --gpus all)即可启用 GPU 支持,无需复杂的挂载命令。
环境一致性: 确保容器内的 CUDA 等环境与主机驱动兼容,避免了版本冲突问题。
安全隔离: 仍然遵循容器的安全模型,可以对容器可访问的 GPU 设备进行精细控制(例如,指定使用哪几块 GPU)。
生态兼容: 不仅支持 Docker,还支持 containerd、Podman、Kubernetes 等主流容器生态系统。
广泛适用: 是所有基于 NVIDIA GPU 的容器应用(如深度学习训练、推理、科学计算、图形渲染)的基础依赖。
准备工作
- 请确保您已经成功安装了驱动,可以参考此处
- 需要使用科学上网环境或自行配置全局代理
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
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
测试
可以拉取一个对应cuda版本的镜像例如
docker run -it --gpus all nvidia/cuda:12.2.2-devel-ubuntu22.04 /bin/bash
在容器内输入
nvidia-smi
你应当能够看到显卡信息则说明调用成功