安装 NVIDIA Container Toolkit#
安装#
先决条件#
为您的 Linux 发行版安装 NVIDIA GPU 驱动程序。NVIDIA 建议使用您的发行版的软件包管理器安装驱动程序。
有关使用软件包管理器安装驱动程序的信息,请参阅NVIDIA 驱动程序安装快速入门指南。
或者,您可以下载 .run
安装程序来安装驱动程序。请参阅 NVIDIA 官方驱动程序 页面。
使用 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
可选地,配置存储库以使用实验性软件包
$ sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
从存储库更新软件包列表
$ sudo apt-get update
安装 NVIDIA Container Toolkit 软件包
$ sudo apt-get install -y nvidia-container-toolkit
使用 Yum 或 Dnf 安装#
配置生产存储库
$ curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
可选地,配置存储库以使用实验性软件包
$ sudo yum-config-manager --enable nvidia-container-toolkit-experimental
安装 NVIDIA Container Toolkit 软件包
$ sudo yum install -y nvidia-container-toolkit
使用 Zypper 安装#
配置生产存储库
$ sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
可选地,配置存储库以使用实验性软件包
$ sudo zypper modifyrepo --enable nvidia-container-toolkit-experimental
安装 NVIDIA Container Toolkit 软件包
$ sudo zypper --gpg-auto-import-keys install -y nvidia-container-toolkit
配置#
先决条件#
您已安装受支持的容器引擎 (Docker、Containerd、CRI-O、Podman)。
您已安装 NVIDIA Container Toolkit。
配置 Docker#
使用
nvidia-ctk
命令配置容器运行时$ sudo nvidia-ctk runtime configure --runtime=docker
nvidia-ctk
命令会修改主机上的/etc/docker/daemon.json
文件。文件已更新,以便 Docker 可以使用 NVIDIA Container Runtime。重启 Docker 守护程序
$ sudo systemctl restart docker
无根模式#
要为在无根模式下运行的 Docker 配置容器运行时,请按照以下步骤操作
使用
nvidia-ctk
命令配置容器运行时$ nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
重启无根 Docker 守护程序
$ systemctl --user restart docker
使用
sudo nvidia-ctk
命令配置/etc/nvidia-container-runtime/config.toml
$ sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
配置 containerd(用于 Kubernetes)#
使用
nvidia-ctk
命令配置容器运行时$ sudo nvidia-ctk runtime configure --runtime=containerd
nvidia-ctk
命令会修改主机上的/etc/containerd/config.toml
文件。文件已更新,以便 containerd 可以使用 NVIDIA Container Runtime。重启 containerd
$ sudo systemctl restart containerd
配置 containerd(用于 nerdctl)#
无需其他配置。您只需运行 nerdctl run --gpus=all
,无论是否使用 root 权限。您无需为 Kubernetes 运行上面提到的 nvidia-ctk
命令。
另请参阅 nerdctl 文档。
配置 CRI-O#
使用
nvidia-ctk
命令配置容器运行时$ sudo nvidia-ctk runtime configure --runtime=crio
nvidia-ctk
命令会修改主机上的/etc/crio/crio.conf
文件。文件已更新,以便 CRI-O 可以使用 NVIDIA Container Runtime。重启 CRI-O 守护程序
$ sudo systemctl restart crio
配置 Podman#
对于 Podman,NVIDIA 建议使用 CDI 以访问容器中的 NVIDIA 设备。