英伟达容器工具包:让docker,podman运行GPU服务

平台要求:
运行 NVIDIA 容器工具包的先决条件列表如下所述:
GNU/Linux x86_64 内核版本 > 3.10
Docker >= 19.03 (推荐,但某些发行版可能包含旧版本的 Docker。支持的最低版本为 1.12(支持podman))
NVIDIA Linux drivers >= 418.81.07 (注意,不支持较旧的驱动程序版本或分支)
本人只用podman就只写了cetosn8到9的podman的容器工具包安装
安装podman

1
dnf install podman

centos8:
安装container-tools模块

1
sudo dnf module install -y container-tools

添加添加NVIDIA 容器工具包源

1
2
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

安装NVIDIA 容器工具包

1
2
sudo dnf clean expire-cache \
&& sudo dnf install -y nvidia-container-toolkit

centos9:
安装container-tools
但是我在centos9上找不到这个模块所以去掉module

1
sudo dnf install -y container-tools

添加NVIDIA 容器工具包源
centos9官方并没有支持可以用cemtos8的

1
2
distribution=centos8 \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

安装NVIDIA 容器工具包

1
2
sudo dnf clean expire-cache \
&& sudo dnf install -y nvidia-container-toolkit

检测安装

1
cat  /usr/share/containers/oci/hooks.d/oci-nvidia-hook.json

无根容器设置

1
sudo sed -i 's/^#no-cgroups = false/no-cgroups = true/;' /etc/nvidia-container-runtime/config.toml

运行测试

1
2
3
podman run --rm --security-opt=label=disable \
--hooks-dir=/usr/share/containers/oci/hooks.d/ \
nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

引用:
1.NVIDIA 容器工具包安装指南
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker