安装 NVIDIA Container Toolkit#

安装#

先决条件#

为您的 Linux 发行版安装 NVIDIA GPU 驱动程序。NVIDIA 建议使用您的发行版的软件包管理器安装驱动程序。

有关使用软件包管理器安装驱动程序的信息,请参阅NVIDIA 驱动程序安装快速入门指南

或者,您可以下载 .run 安装程序来安装驱动程序。请参阅 NVIDIA 官方驱动程序 页面。

使用 Apt 安装#

  1. 配置生产存储库

    $ 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
    
  2. 从存储库更新软件包列表

    $ sudo apt-get update
    
  3. 安装 NVIDIA Container Toolkit 软件包

    $ sudo apt-get install -y nvidia-container-toolkit
    

使用 Yum 或 Dnf 安装#

  1. 配置生产存储库

    $ 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
    
  2. 安装 NVIDIA Container Toolkit 软件包

    $ sudo yum install -y nvidia-container-toolkit
    

使用 Zypper 安装#

  1. 配置生产存储库

    $ sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
    

    可选地,配置存储库以使用实验性软件包

    $ sudo zypper modifyrepo --enable nvidia-container-toolkit-experimental
    
  2. 安装 NVIDIA Container Toolkit 软件包

    $ sudo zypper --gpg-auto-import-keys install -y nvidia-container-toolkit
    

配置#

先决条件#

  • 您已安装受支持的容器引擎 (Docker、Containerd、CRI-O、Podman)。

  • 您已安装 NVIDIA Container Toolkit。

配置 Docker#

  1. 使用 nvidia-ctk 命令配置容器运行时

    $ sudo nvidia-ctk runtime configure --runtime=docker
    

    nvidia-ctk 命令会修改主机上的 /etc/docker/daemon.json 文件。文件已更新,以便 Docker 可以使用 NVIDIA Container Runtime。

  2. 重启 Docker 守护程序

    $ sudo systemctl restart docker
    

无根模式#

要为在无根模式下运行的 Docker 配置容器运行时,请按照以下步骤操作

  1. 使用 nvidia-ctk 命令配置容器运行时

    $ nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
    
  2. 重启无根 Docker 守护程序

    $ systemctl --user restart docker
    
  3. 使用 sudo nvidia-ctk 命令配置 /etc/nvidia-container-runtime/config.toml

    $ sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
    

配置 containerd(用于 Kubernetes)#

  1. 使用 nvidia-ctk 命令配置容器运行时

    $ sudo nvidia-ctk runtime configure --runtime=containerd
    

    nvidia-ctk 命令会修改主机上的 /etc/containerd/config.toml 文件。文件已更新,以便 containerd 可以使用 NVIDIA Container Runtime。

  2. 重启 containerd

    $ sudo systemctl restart containerd
    

配置 containerd(用于 nerdctl)#

无需其他配置。您只需运行 nerdctl run --gpus=all,无论是否使用 root 权限。您无需为 Kubernetes 运行上面提到的 nvidia-ctk 命令。

另请参阅 nerdctl 文档

配置 CRI-O#

  1. 使用 nvidia-ctk 命令配置容器运行时

    $ sudo nvidia-ctk runtime configure --runtime=crio
    

    nvidia-ctk 命令会修改主机上的 /etc/crio/crio.conf 文件。文件已更新,以便 CRI-O 可以使用 NVIDIA Container Runtime。

  2. 重启 CRI-O 守护程序

    $ sudo systemctl restart crio
    

配置 Podman#

对于 Podman,NVIDIA 建议使用 CDI 以访问容器中的 NVIDIA 设备。

下一步#