发行说明#
本文档介绍了 NVIDIA Container Toolkit 的新功能、改进、已修复和已知问题。
NVIDIA Container Toolkit 1.17.4#
此版本包含以下更新:
要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/。
有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/。
此版本的 NVIDIA Container Toolkit v1.17.4
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.17.4
nvidia-container-toolkit-base 1.17.4
libnvidia-container-tools 1.17.4
libnvidia-container1 1.17.4
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.17.4-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.17.4-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.17.4
)
修复和功能#
默认情况下禁用从容器挂载 CUDA 兼容库。这些库仍然在其原始位置可用。如果需要之前的行为,可以启用
allow-cuda-compat-libs-from-container
功能标志。当
NVIDIA_DRIVER_CAPABILITIES
在基于 iGPU 的系统上包含graphics
时,跳过图形库的检测和注入。这可以防止在启动容器时,冲突的 ICD 文件导致错误。修复了运行
nvidia-ctk generate
时忽略--config-search-path
参数的错误。此修复允许即使驱动程序位于非标准位置也能找到驱动程序。添加了对 Containerd 版本 3 配置文件 的支持。
libnvidia-container 的增强功能#
为
nvidia-container-cli
添加了--no-cntlibs
CLI 选项。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.6.3。
NVIDIA Container Toolkit 1.17.3#
此版本包含以下更新:
要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/。
有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/。
此版本的 NVIDIA Container Toolkit v1.17.3
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.17.3
nvidia-container-toolkit-base 1.17.3
libnvidia-container-tools 1.17.3
libnvidia-container1 1.17.3
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.17.3-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.17.3-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.17.3
)
修复和功能#
默认情况下仅允许主机相对 LDConfig 路径。允许容器相对 LDConfig 路径的先前行为可以显式启用。
libnvidia-container 的增强功能#
在调用 fexecve() 更新容器的 ldcache 之前,创建主机 ldconfig 二进制文件的虚拟副本。
NVIDIA Container Toolkit 1.17.2#
此版本的 NVIDIA Container Toolkit v1.17.2
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.17.2
nvidia-container-toolkit-base 1.17.2
libnvidia-container-tools 1.17.2
libnvidia-container1 1.17.2
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.17.2-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.17.2-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.17.2
)
修复和功能#
修复了旧版镜像会将 imex 通道设置为
all
容器而导致启动失败的错误。
NVIDIA Container Toolkit 1.17.1#
此版本的 NVIDIA Container Toolkit v1.17.1
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.17.1
nvidia-container-toolkit-base 1.17.1
libnvidia-container-tools 1.17.1
libnvidia-container1 1.17.1
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.17.1-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.17.1-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.17.1
)
修复和功能#
修复了容器镜像中存在的特定符号链接可能导致容器启动失败的错误。
修复了基于 Tegra 的系统上容器启动失败的错误。
修复了默认容器运行时配置路径未正确设置的错误。
container-toolkit 容器镜像的增强功能#
如果无法从命令行确定当前运行时配置,则添加回退到使用配置文件的功能。这修复了在 microk8s 等环境上的部署问题。
NVIDIA Container Toolkit 1.17.0#
此版本包含以下更新:
要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/。
有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/。
此版本的 NVIDIA Container Toolkit v1.17.0
是一个功能更新和错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.17.0
nvidia-container-toolkit-base 1.17.0
libnvidia-container-tools 1.17.0
libnvidia-container1 1.17.0
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.17.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.17.0-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.17.0
)
修复和功能#
修复了在容器启动时创建的符号链接可能会逃脱容器根目录的错误。此修复解决了 CVE-2024-0134。
修复了在生成 CDI 规范时在 ldcache 中查找
libcuda.so
的错误。此修复使工具包能够在驱动程序安装使用自定义路径的系统上找到驱动程序库。修复了与在基于 Tegra 的系统上创建符号链接链相关的错误。此修复确保行为在容器的多次运行中保持一致,并且不依赖于随机排序顺序。
修复了在 CDI 规范生成中未发现 VDPAU 驱动程序库的错误。
添加了对请求 IMEX 通道作为卷挂载的支持。
添加了
disable-imex-channel-creation
功能标志,用于在创建容器时禁用 IMEX 通道设备节点的创建。在
management
模式下,将 IMEX 通道设备节点添加到 CDI 规范中。在 CDI 规范生成中添加了选择性驱动程序符号链接(例如
libcuda.so
)的创建,以匹配legacy
模式下的行为。
container-toolkit 容器镜像的增强功能#
添加了从命令行而不是配置文件查询当前容器运行时配置的支持。这确保在配置 NVIDIA Container Runtimes 时使用有效的配置。
将 CUDA 基础镜像版本更新至 12.6.2。
libnvidia-container 的增强功能#
添加了
--no-create-imex-channels
命令行选项。
NVIDIA Container Toolkit 1.16.2#
此版本提供关键安全更新,建议所有用户安装。
此版本包含以下更新:
要查看 NVIDIA 产品的任何已发布安全公告,请访问 NVIDIA 产品安全页面:https://www.nvidia.com/en-us/security/。
有关 NVIDIA 安全漏洞修复策略的更多信息,请参阅 https://www.nvidia.com/en-us/security/psirt-policies/。
此版本的 NVIDIA Container Toolkit v1.16.2
是一个错误修复和安全版本。
包含以下软件包
nvidia-container-toolkit 1.16.2
libnvidia-container-tools 1.16.2
libnvidia-container1 1.16.2
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.16.2-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.16.2-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.16.1
)
修复和功能#
从图形挂载中排除了
libnvidia-allocator
。这修复了当容器以双向挂载传播启动时泄漏挂载的错误。为默认
runtime-config-override
使用空字符串。这消除了运行时(例如 Docker)不适用时的冗余警告。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.6.0。
libnvidia-container 的增强功能#
添加了
--no-gsp-firmware
命令行选项。添加了
--no-fabricmanager
命令行选项。添加了
--no-persistenced
命令行选项。更新了逻辑以在挂载库时跳过目录和符号链接。
NVIDIA Container Toolkit 1.16.1#
此版本的 NVIDIA Container Toolkit v1.16.1
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.16.1
libnvidia-container-tools 1.16.1
libnvidia-container1 1.16.1
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.16.1-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.16.1-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.16.1
)
修复和功能#
修复了在为 MIG 设备生成 CDI 规范期间处理错误的错误。
NVIDIA Container Toolkit 1.16.0#
此版本的 NVIDIA Container Toolkit v1.16.0
是一个主要功能版本。
包含以下软件包
nvidia-container-toolkit 1.16.0
libnvidia-container-tools 1.16.0
libnvidia-container1 1.16.0
注意
v1.14.0
版本是最后一个包含nvidia-container-runtime
和nvidia-docker2
软件包的版本。所有必需的功能都包含在nvidia-container-toolkit
软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.16.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.16.0-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.16.0
)
修复和功能#
添加了额外图形库的注入,以改进 X11 功能。
添加了从默认运行时提取运行时选项的支持,而不是假设为
runc
。降低了 NVIDIA Container Runtime 的日志记录详细程度。
修复了记录器创建的参数解析错误。
提高了注入到容器中的
ld.so.conf.d
配置文件的优先级。这确保注入的库优先于容器中存在的库。将默认 CDI 规范权限更新为 644。这修复了在使用
nvidia-ctk cdi transform
功能时指定输出的权限问题。修复了在使用非标准驱动程序根目录时发现
libnvidia-ml.so.1
的问题。这在使用主机上的驱动程序容器时启用了 CDI 规范生成。添加了在保存时重新计算最小所需 CDI 规范版本的支持。这确保了由于规范转换而导致的版本更改得到考虑。
将
nvidia-ctk hook
命令移动到单独的nvidia-cdi-hook
二进制文件(支持相同的子命令)。这允许更清晰地映射到生成的 CDI 规范的非 OCI 兼容用例。
切换为在
nvidia-ctk config --set
命令中使用:
作为列表分隔符。这修复了尝试设置列表配置选项时的错误。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.5.1。
添加了对自定义驱动程序安装路径的支持。
NVIDIA Container Toolkit 1.15.0#
此版本的 NVIDIA Container Toolkit v1.15.0
是一个主要功能版本。
包含以下软件包
nvidia-container-toolkit 1.15.0
libnvidia-container-tools 1.15.0
libnvidia-container1 1.15.0
注意
v1.14.0
版本是最后一个包含nvidia-container-runtime
和nvidia-docker2
软件包的版本。所有必需的功能都包含在nvidia-container-toolkit
软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.15.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.15.0-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.15.0
)
软件包变更#
移除了
nvidia-container-runtime
和nvidia-docker2
软件包。从
nvidia-container-toolkit
软件包中移除了libseccomp
依赖项。添加了
libnvidia-container-libseccomp2
元软件包,以允许libseccomp
依赖项由基于 SUSE 的系统上的libseccomp2
满足。移除了为旧版基于 Tegra 的系统包含的
libnvidia-container0
jetpack 依赖项。
修复和功能#
在图形挂载列表中包含了
nvidia/nvoptix.bin
和vulkan/icd.d/nvidia_layers.json
。修复了使用
--set
时nvidia-ctk config
命令中的错误。现在可以正确应用应用的配置选项类型。添加了显式请求的运行时模式的日志记录。
添加了对 WSL2 系统上
libnvdxgdmal.so.1
的检测。较新驱动程序版本需要此库。修复了在基于 SUSE 的系统上确定默认
nvidia-container-runtime.user
配置值的错误。不正确的默认值导致启动容器时出现权限错误。将
crun
添加到已配置的底层运行时列表中。此增强功能改进了 CRI-O 支持。为
nvidia-ctk runtime configure
命令添加了--cdi.enabled
选项,以在 containerd 和 Docker 中启用 CDI。对于 CDI 支持,需要 Docker 25 或更高版本。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.4.1。
移除了 centos7 镜像。ubi8 镜像可用于所有基于 RPM 的平台。
NVIDIA Container Toolkit 1.14.6#
此版本的 NVIDIA Container Toolkit v1.14.6
添加了对 550.x CUDA 驱动程序的某些功能的支持。
包含以下软件包
nvidia-container-toolkit 1.14.6
libnvidia-container-tools 1.14.6
libnvidia-container1 1.14.6
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.6-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.6
)
修复和功能#
如果
nvidia
用作设备名称而不是nvidia-frontend
,则添加从/proc/devices
提取设备主设备号的支持。这修复了550.x
驱动程序的/dev/char
符号链接的创建。添加了使用
NVIDIA_IMEX_CHANNELS
环境变量选择 IMEX 通道的支持。
NVIDIA Container Toolkit 1.14.5#
此版本的 NVIDIA Container Toolkit v1.14.5
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.14.5
libnvidia-container-tools 1.14.5
libnvidia-container1 1.14.5
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.5-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.5
)
修复和功能#
修复了 Docker 的
nvidia-ctk runtime configure --cdi.enabled
命令。这错误地将experimental = true
设置为 Docker >= 25 中 CDI 支持的features.cdi = true
。
NVIDIA Container Toolkit 1.14.4#
此版本的 NVIDIA Container Toolkit v1.14.4
是一个错误修复和次要功能版本。
包含以下软件包
nvidia-container-toolkit 1.14.4
libnvidia-container-tools 1.14.4
libnvidia-container1 1.14.4
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.4-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.4
)
软件包变更#
从
nvidia-container-toolkit
软件包中移除了libseccomp
依赖项。
修复和功能#
在图形挂载列表中包含了
nvidia/nvoptix.bin
和vulkan/icd.d/nvidia_layers.json
。修复了使用
--set
时nvidia-ctk config
命令中的错误。现在可以正确应用应用的配置选项类型。添加了显式请求的运行时模式的日志记录。
添加了对 WSL2 系统上
libnvdxgdmal.so.1
的检测。较新驱动程序版本需要此库。修复了在基于 SUSE 的系统上确定默认
nvidia-container-runtime.user
配置值的错误。不正确的默认值导致启动容器时出现权限错误。将
crun
添加到已配置的底层运行时列表中。此增强功能改进了 CRI-O 支持。为
nvidia-ctk runtime configure
命令添加了--cdi.enabled
选项,以在 containerd 和 Docker 中启用 CDI。对于 CDI 支持,需要 Docker 25 或更高版本。
libnvidia-container 的增强功能#
添加了对 WSL2 系统上
libnvdxgdmal.so.1
的检测。较新驱动程序版本需要此库。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.3.1。
NVIDIA Container Toolkit 1.14.3#
此版本的 NVIDIA Container Toolkit v1.14.3
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.14.3
libnvidia-container-tools 1.14.3
libnvidia-container1 1.14.3
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.3-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.3
)
修复和功能#
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.2.2。
NVIDIA Container Toolkit 1.14.2#
此版本的 NVIDIA Container Toolkit v1.14.2
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.14.2
libnvidia-container-tools 1.14.2
libnvidia-container1 1.14.2
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.2-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.2
)
修复和功能#
修复了在基于 Tegra 的系统上,容器中未创建预期符号链接的错误。这可能导致某些应用程序启动失败。
NVIDIA Container Toolkit 1.14.1#
此版本的 NVIDIA Container Toolkit v1.14.1
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.14.1
libnvidia-container-tools 1.14.1
libnvidia-container1 1.14.1
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.1-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.14.1
)
修复和功能#
修复了 NVIDIA Container Runtime Hook 忽略
/etc/nvidia-container-runtime/config.toml
内容的错误。此修复意味着现在可以遵守no-cgroups
或日志文件路径等设置。
libnvidia-container 的增强功能#
切换为使用基于 RPM 的系统上的
elfutils-libelf-devel
中的libelf.so
。此更改仅为构建更改。
NVIDIA Container Toolkit 1.14.0#
此版本的 NVIDIA Container Toolkit v1.14.0
是一个功能版本。
包含以下软件包
libnvidia-container 1.14.0
nvidia-container-toolkit 1.14.0
nvidia-container-runtime 3.14.0
nvidia-docker2 2.14.0
注意
这是最后一个包含
nvidia-container-runtime
和nvidia-docker2
软件包的版本。所有必需的功能都包含在nvidia-container-toolkit
软件包中。此工具包软件包包含一个实用程序,用于配置 Docker 守护程序以使用 NVIDIA Container Runtime。
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.14.0-ubuntu20.04
修复和功能#
改进了对基于 Tegra 的系统上的容器设备接口 (CDI) 的支持。
简化了工具包的打包和分发。
从此版本开始,分发统一的
.deb
和.rpm
软件包。这些软件包与所有受支持的发行版兼容。此增强功能简化了安装过程,而不是发布特定于发行版的软件包。
libnvidia-container 的增强功能#
添加了自动生成
nvc.h
头文件的逻辑,以便无需显式更新版本。将共享编译器库
libnvidia-gpucomp.so
添加到包含的计算库列表中。为加密/解密库添加了 OpenSSL 3 支持。
container-toolkit 容器镜像的增强功能#
将 CUDA 基础镜像版本更新至 12.2.0。
标准化了用于配置容器引擎的环境变量名称。
移除了
nvidia-experimental
运行时的安装。此运行时已被 CDI 模式下的 NVIDIA Container Runtime 取代。设置
NVIDIA_VISIBLE_DEVICES=void
以防止将 NVIDIA 设备和驱动程序注入到 NVIDIA Container Toolkit 容器中。
NVIDIA Container Toolkit 1.13.5#
此版本的 NVIDIA Container Toolkit v1.13.5
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.13.5
libnvidia-container-tools 1.13.5
libnvidia-container1 1.13.5
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.5-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.13.5
)
修复和功能#
在基于 RPM 的系统上安装 NVIDIA Container Toolkit 时,移除了对
coreutils
的依赖。现在可以使用 Anaconda 等工具在干净的系统上安装软件包。添加了在生成 CDI 规范时检测自定义路径下的 GSP 固件的支持。
特定于 libnvidia-container#
将共享编译器库
libnvidia-gpucomp.so
添加到包含的计算库列表中。
NVIDIA Container Toolkit 1.13.4#
此版本的 NVIDIA Container Toolkit v1.13.4
是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.13.4
libnvidia-container-tools 1.13.4
libnvidia-container1 1.13.4
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.4-ubuntu20.04
(也作为nvcr.io/nvidia/k8s/container-toolkit:v1.13.4
)
修复和功能#
特定于 container-toolkit 容器镜像#
将 CUDA 基础镜像版本提升至 12.1.0
NVIDIA Container Toolkit 1.13.3#
NVIDIA Container Toolkit v1.13.3
版本是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.13.3
libnvidia-container-tools 1.13.3
libnvidia-container1 1.13.3
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.3-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.13.3
)
修复和功能#
修复了生成的 CDI 规范文件中的权限问题。现在,规范文件以
644
权限生成,以允许非 root 用户读取这些文件。这意味着像 Podman 这样的无 root 应用程序也可以读取规范以注入 CDI 设备。修复了一个在具有多个驱动程序存储的 WSL2 系统上创建指向
nvidia-smi
的不正确符号链接的错误。当系统具有集成 GPU 和独立 NVIDIA GPU 时,例如,有时会触发此错误。修复了一个导致管理容器的 CDI 规范生成失败的错误。当驱动程序版本在其语义版本号中不包含补丁组件时,会触发此错误。
修复了一个在 CDI 模式下应用额外修改(例如图形库和设备的注入)的错误。
修复了在使用
nvidia-ctk system create-dev-char-symlinks
命令时,在容器化用例中加载内核模块和创建设备节点的问题。
容器工具包容器镜像特有#
增加了对在支持的容器运行时中使用相同的环境变量来指定选项的支持。这简化了与 GPU Operator 的集成。
NVIDIA Container Toolkit 1.13.2#
NVIDIA Container Toolkit v1.13.2
版本是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.13.2
libnvidia-container-tools 1.13.2
libnvidia-container1 1.13.2
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.2-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.13.2
)
修复和功能#
添加了
nvidia-container-runtime-hook.path
配置选项,以显式指定 NVIDIA Container Runtime Hook 路径。修复了内核模块未加载时,创建
/dev/char
符号链接操作失败的错误。添加了一个在创建设备节点时加载内核模块的选项
添加了在创建
/dev/char
符号链接时创建设备节点的选项修复了一个将打开调试日志文件失败视为致命错误的错误。当用户没有足够的权限打开日志文件时,这可能会导致无 root 环境中的失败。
libnvidia-container 特有#
为加密/解密库添加了 OpenSSL 3 支持。
容器工具包容器镜像特有#
将 CUDA 基础镜像版本提升至 12.1.1。
NVIDIA Container Toolkit 1.13.1#
NVIDIA Container Toolkit v1.13.1
版本是一个错误修复版本。
包含以下软件包
nvidia-container-toolkit 1.13.1
libnvidia-container-tools 1.13.1
libnvidia-container1 1.13.1
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.1-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.13.1
)
修复和功能#
修复了一个错误,该错误会导致容器中 ldcache 的更新对于不使用 ldconfig 的镜像(例如
busybox
)失败。修复了一个错误,其中如果
NVIDIA_DRIVER_CAPABILITIES
在 Debian 系统上包含graphics
或display
,则无法确定 CUDA 驱动程序版本会导致容器启动失败。修复了 Debian 系统上的 CDI 规范生成问题。
NVIDIA Container Toolkit 1.13.0#
NVIDIA Container Toolkit v1.13.0
版本添加了以下主要功能
改进了在使用 GPU Operator 上下文中的 NVIDIA Container Toolkit 时,对 GPU 设备的容器设备接口 (CDI) 规范的支持。
在使用
nvidia-ctk cdi generate
命令的基于 WSL2 的系统上添加了生成 CDI 规范的功能。现在,这是在 WSL2 上使用 GPU 的推荐机制,并且podman
是推荐的容器引擎。
包含以下软件包
nvidia-container-toolkit 1.13.0
libnvidia-container-tools 1.13.0
libnvidia-container1 1.13.0
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.13.0-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.13.0
)
以下软件包也已更新为依赖于至少 1.13.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.13.0
nvidia-docker2 2.13.0
注意
这将是最后一次更新 nvidia-container-runtime
和 nvidia-docker2
软件包的版本。所有必需的功能现在都包含在 nvidia-container-toolkit
软件包中。这包括一个用于配置 Docker 守护程序以使用 NVIDIA Container Runtime 的实用程序。
打包变更#
修复了基于 RPM 的系统上卸载脚本中的一个错误,该错误会由于缺少
nvidia-container-runtime-hook
符号链接而发出错误。但这不会阻止软件包的卸载。删除了
fedora35
作为打包目标。请改用centos8
软件包。
修复和功能#
修复了在使用生成的 CDI 规范或当
NVIDIA_DRIVER_CAPABILITIES
包括graphics
或display
或设置为all
时运行容器的错误。现在,容器不再因错误消息指示缺少/dev/dri
或/dev/nvidia-caps
路径而失败。增加了对检测和注入 NVIDIA GPU 驱动程序的
525.x
版本所需的多个 GSP 固件文件的支持。修复了一个导致生成的 CDI 规范中
nvidia-ctk
路径为空白的问题。修复了某些平台上
nvidia-ctk
缺少 NVML 符号的问题。有关更多信息,请参见 issue #49。
libnvidia-container 特有#
增加了对检测和注入 NVIDIA GPU 驱动程序的
525.x
版本所需的多个 GSP 固件文件的支持。修复了 RPC 初始化失败时的段错误。
更改了 NVIDIA Container Library 的 centos 变体,以使用静态 libtirpc v1.3.2,以防止在内部使用 RPC 时出错。
删除了
fedora35
作为打包目标。请改用centos8
软件包。
容器工具包容器镜像特有#
为工具包配置添加了
--cdi-enabled
标志。设置此标志后,将生成用于管理容器的 CDI 规范。修复了在安装工具包组件的其余部分时,
nvidia-ctk
未安装到主机上的错误。更新了 NVIDIA Container Toolkit 配置以使用已安装的
nvidia-ctk
路径。更新了实验性运行时的安装,以使用
nvidia-container-runtime.experimental
作为可执行文件名,而不是nvidia-container-runtime-experimental
。这与为特定模式运行时添加的可执行文件保持一致。添加了
cdi
和legacy
模式的特定模式运行时的安装和配置。将 CUDA 基础镜像更新为
12.1.0
。添加了
nvidia-container-runtime.modes.cdi.annotation-prefixes
配置选项,该选项允许覆盖读取的 CDI 注释前缀。此设置用于更新containerd
配置,以允许低级运行时看到这些注释。添加了在为管理容器生成 CDI 规范时创建设备节点的工具。这确保了管理容器的 CDI 规范可以访问所需的控制设备。
添加了
nvidia-container-runtime.runtimes
配置选项,用于设置 NVIDIA Container Runtime 的低级运行时。这可以用于基于 Crio 的系统,其中crun
是配置的默认低级运行时。
已知问题#
NVIDIA Container Toolkit 1.12.1#
NVIDIA Container Toolkit v1.12.1
版本主要是一个错误修复版本。
打包变更#
修复了基于 RPM 的系统上卸载脚本中的一个错误,该错误会由于缺少
nvidia-container-runtime-hook
符号链接而发出错误。但这不会阻止软件包的卸载。删除了
fedora35
作为打包目标。请改用centos8
软件包。
修复和功能#
修复了在使用生成的 CDI 规范或当
NVIDIA_DRIVER_CAPABILITIES
包括graphics
或display
或设置为all
时运行容器的错误。现在,容器不再因错误消息指示缺少/dev/dri
或/dev/nvidia-caps
路径而失败。增加了对检测和注入 NVIDIA GPU 驱动程序的
525.x
版本所需的多个 GSP 固件文件的支持。修复了一个导致生成的 CDI 规范中
nvidia-ctk
路径为空白的问题。修复了某些平台上
nvidia-ctk
缺少 NVML 符号的问题。有关更多信息,请参见 issue #49。
libnvidia-container 特有#
增加了对检测和注入 NVIDIA GPU 驱动程序的
525.x
版本所需的多个 GSP 固件文件的支持。
容器工具包容器镜像特有#
将 CUDA 基础镜像更新为
12.1.0
。
NVIDIA Container Toolkit 1.12.0#
NVIDIA Container Toolkit v1.12.0
版本添加了以下主要功能
改进了容器化环境中无头 Vulkan 应用程序的支持。
用于为 GPU 设备生成容器设备接口 (CDI) 规范的工具。现在,使用 CDI 是在
podman
中使用 GPU 的推荐机制。
包含以下软件包
nvidia-container-toolkit 1.12.0
libnvidia-container-tools 1.12.0
libnvidia-container1 1.12.0
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubuntu18.04
nvcr.io/nvidia/k8s/container-toolkit:v1.12.0-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.12.0
)
以下软件包也已更新为依赖于至少 1.12.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.12.0
nvidia-docker2 2.12.0
注意
这将是最后一次更新 nvidia-container-runtime
和 nvidia-docker2
软件包的版本。所有必需的功能现在都包含在 nvidia-container-toolkit
软件包中。这包括一个用于配置 Docker 守护程序以使用 NVIDIA Container Runtime 的实用程序。
打包变更#
更新了
nvidia-container-toolkit
软件包,以允许从v1.11.0
之前的软件包版本升级,而无需删除nvidia-container-runtime-hook
可执行文件。在某些发行版上,已删除完整镜像。 Debian 和基于 RPM 的发行版的
.list
和.repo
文件的链接已得到维护,以确保官方安装说明继续有效。此更改旨在进一步优化我们的软件包存储库的大小。
修复和功能#
添加
nvidia-ctk cdi generate
命令,以生成可用 NVIDIA 设备的 CDI 规范。生成的 CDI 规范可用于在启用 CDI 的容器引擎(如podman
)中提供对 NVIDIA 设备的访问,尤其是在无 root 情况下。当
NVIDIA_DRIVER_CAPABILITIES
包括graphics
或display
时,添加对容器化环境中无头 Vulkan 应用程序的完全支持。这包括注入 Vulkan ICD 加载程序以及直接渲染设备。改进了 NVIDIA Container Runtime 中错误日志记录。
libnvidia-container 特有#
将 NVVM 编译器库包含在注入的计算库集中
跳过创建已挂载的文件,以允许将
/var/run
等路径挂载到容器中。在 WSL2 下将
nvcubins.bin
添加到 DriverStore 组件
容器工具包容器镜像特有#
将 CUDA 基础镜像更新为
12.0.1
已知问题#
当使用 CDI 运行容器或如果
NVIDIA_DRIVER_CAPABILITIES
包括graphics
或display
时,如果所选设备没有与之关联的此类节点,则可能会引发错误,指出容器中缺少/dev/dri
和/或/dev/nvidia-caps
路径。
$ docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=nvidia.com/gpu=0 nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi -L
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #1: error running hook: exit status 1, stdout: , stderr: chmod: cannot access '/var/lib/docker/overlay2/9069fafcb6e39ccf704fa47b52ca92a1d48ca5ccfedd381f407456fb6cd3f9f0/merged/dev/dri': No such file or directory: unknown.
ERRO[0000] error waiting for container: context canceled
此问题已在 v1.12.1
版本中得到解决。
NVIDIA Container Toolkit 1.11.0#
NVIDIA Container Toolkit v1.11.0
版本主要旨在增加对将 GPUDirect Storage 和 MOFED 设备注入到容器化环境中的支持。
包含以下软件包
nvidia-container-toolkit 1.11.0
libnvidia-container-tools 1.11.0
libnvidia-container1 1.11.0
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubuntu18.04
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.11.0
)
以下软件包也已更新为依赖于至少 1.11.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.11.0
请注意,此版本不包含 nvidia-docker2
的更新,并且与 nvidia-docker2 2.11.0
兼容。
打包变更#
引入了
nvidia-container-toolkit-base
软件包,该软件包允许在不需要 NVIDIA Container Runtime Hook、NVIDIA Container CLI 和 NVIDIA Container Library 的情况下安装更高级别的组件。这包括使用 NVIDIA Container Runtime 的 CSV 模式的基于 Tegra 的系统。软件包存储库包括对 Fedora 35 软件包的支持。
软件包存储库包括对 RHEL 8.6 的支持。这会重定向到 Centos 8 软件包。
已删除旧发行版的镜像以限制软件包存储库的大小。
修复和功能#
修复了 CSV 模式中的错误,其中在挂载规范中列为
sym
条目的库未添加到 LDCache。将
nvidia-container-toolkit
可执行文件重命名为nvidia-container-runtime-hook
,以更好地表明意图。创建了一个名为nvidia-container-toolkit
的符号链接,该链接指向nvidia-container-runtime-hook
可执行文件。将平台文件注入到基于 Tegra 的系统上的容器中,以便将来在 GPU 设备插件中支持这些系统。
为 NVIDIA Container Runtime 添加
cdi
模式如果容器的
NVIDIA_GDS
环境变量设置为enabled
,则添加 GPUDirect Storage (nvidia-fs*
) 设备的发现如果容器的
NVIDIA_MOFED
环境变量设置为enabled
,则添加 MOFED Infiniband 设备的发现添加
nvidia-ctk runtime configure
命令,以配置 Docker 配置文件(例如/etc/docker/daemon.json
)以与 NVIDIA Container Runtime 一起使用。
libnvidia-container 特有#
修复了在指定
--no-pivot-root
选项时未更新 LDCache 的错误在 arm64 系统上预加载
libgcc_s.so.1
容器工具包容器镜像特有#
将 CUDA 基础镜像更新为
11.7.1
允许通过工具包容器设置
accept-nvidia-visible-devices-*
配置选项
已知问题#
在基于 RPM 的系统上从早期版本的 NVIDIA Container Toolkit 升级时,软件包管理器(如
yum
)可能会由于旧软件包版本中定义的卸载后挂钩而删除已安装的/usr/bin/nvidia-container-runtime-hook
可执行文件。为避免此问题,请在安装v1.11.0
之前删除旧版本的nvidia-container-toolkit
,或者在/usr/bin/nvidia-container-runtime-hook
文件丢失时重新安装v1.11.0
软件包。对于已安装v1.11.0
版本软件包并处于不可用状态的系统,运行yum reinstall -y nvidia-container-toolkit-1.11.0-1
应该可以解决此问题。container-toolkit:v1.11.0
镜像已发布,其中包含以下已知的 HIGH 漏洞 CVE。这些漏洞来自基础镜像,而不是 NVIDIA Container Toolkit 组件使用的库中nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-centos7
:systemd
- CVE-2022-2526systemd-libs
- CVE-2022-2526
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubi8
:systemd
- CVE-2022-2526systemd-libs
- CVE-2022-2526systemd-pam
- CVE-2022-2526
nvcr.io/nvidia/k8s/container-toolkit:v1.11.0-ubuntu18.04
:libsystemd0
- CVE-2022-2526libudev1
- CVE-2022-2526
NVIDIA Container Toolkit 1.10.0#
NVIDIA Container Toolkit v1.10.0
版本主要旨在改进对基于 Tegra 的系统的支持。它引入了 NVIDIA Container Runtime 的一种新操作模式,该模式直接修改传入的 OCI 运行时规范,而不是依赖 NVIDIA Container CLI。
包含以下软件包
nvidia-container-toolkit 1.10.0
libnvidia-container-tools 1.10.0
libnvidia-container1 1.10.0
包含以下 container-toolkit
容器
nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubuntu18.04
nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubuntu20.04
(也可用作nvcr.io/nvidia/k8s/container-toolkit:v1.10.0
)
以下软件包也已更新为依赖于至少 1.10.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.10.0
nvidia-docker2 2.11.0
打包变更#
软件包存储库包括对 Ubuntu 22.04 的支持。这会重定向到 Ubuntu 18.04 软件包。
软件包存储库包括对 RHEL 9.0 的支持。这会重定向到 Centos 8 软件包。
软件包存储库包括对 OpenSUSE 15.2 和 15.3 的支持。这些会重定向到 OpenSUSE 15.1 软件包。
更新了
nvidia-docker2
Debian 软件包,以允许与moby-engine
一起安装,而不是要求docker-ce
、docker-ee
或docker.io
。
修复和功能#
添加
nvidia-ctk
CLI 以提供用于与 NVIDIA Container Toolkit 交互的实用程序为 NVIDIA Container Runtime 添加了一种新模式,该模式面向使用基于 CSV 文件的挂载规范的基于 Tegra 的系统。
如果找不到配置文件,则使用默认配置而不是引发错误
切换到调试日志记录以减少日志详细程度
支持记录到命令行中请求的日志
允许将低级运行时路径显式设置为
nvidia-container-runtime.runtimes
选项修复了如果 PATH envvar 未设置则无法找到低级运行时的问题
为所有 CLI 添加
--version
标志
libnvidia-container 特有#
将
libtirpc
版本提升至1.3.2
修复了使用非标准前缀编译的 glibc 运行主机 ldconfig 时出现的错误
将
libcudadebugger.so
添加到计算库列表[WSL2] 修复了在没有适配器存在的 WSL2 系统上(例如,缺少
/dev/dxg
)出现的段错误检查设备是否启用 MIG 时,忽略挂起的 MIG 模式
[WSL2] 修复了当
NVIDIA_DRIVER_CAPABILITIES
不包含“compute”时,/dev/dxg
未挂载的错误
容器工具包容器镜像特有#
修复了在使用版本 1 配置文件时,将运行时配置应用于 containerd 的错误
将基础镜像更新为 CUDA 11.7.0
Ubuntu 18.04 的多架构镜像不再可用。(对于容器工具包镜像的多架构支持,至少需要 Ubuntu 20.04)
Centos 8 镜像不再可用,因为该操作系统已被视为 EOL,并且没有可用的 CUDA 基础镜像更新
镜像不再发布到 Docker Hub,应改用 NGC 镜像
已知问题#
container-toolkit:v1.10.0
镜像已发布,其中包含以下已知的 HIGH 漏洞 CVE。这些漏洞来自基础镜像,而不是 NVIDIA Container Toolkit 组件使用的库中nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-centos7
:xz
- CVE-2022-1271xz-libs
- CVE-2022-1271
nvcr.io/nvidia/k8s/container-toolkit:v1.10.0-ubi8
:xz-libs
- CVE-2022-1271
NVIDIA Container Toolkit 1.9.0#
此 NVIDIA Container Toolkit v1.9.0
版本主要针对为 container-toolkit
镜像添加多架构支持。它还包括在 Tegra 系统上的增强功能和一些值得注意的错误修复。
包含以下软件包
nvidia-container-toolkit 1.9.0
libnvidia-container-tools 1.9.0
libnvidia-container1 1.9.0
以下是包含的 container-toolkit
容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit
提供)
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos8
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0
和nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu18.04
以下软件包也已更新,依赖于至少 1.9.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.9.0
nvidia-docker2 2.10.0
修复和功能#
libnvidia-container 特有#
在 CLI 中为
/sys/.../family
文件添加额外的 Tegra 检查更新 jetpack 特定的 CLI 选项,默认仅加载 Base CSV 文件
修复了(来自
v1.8.0
版本)将 GSP 固件挂载到没有/lib
到/usr/lib
符号链接的容器中的错误将
nvml.h
更新到 CUDA 11.6.1 nvML_DEV 11.6.55更新 switch 语句以包含来自最新
nvml.h
的新品牌处理 Jetson 平台上的所有
--require
标志修复了在 Debian 系统上运行 ldconfig 的长期存在的问题
container-toolkit 容器镜像特有#
发布基于
nvidia/cuda:11.6.0-base-ubuntu20.04
的nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu20.04
镜像以下镜像作为多架构镜像提供,包括对
linux/amd64
和linux/arm64
平台的支持nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos8
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu18.04
(和nvcr.io/nvidia/k8s/container-toolkit:v1.9.0
)nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubuntu20.04
已知问题#
container-toolkit:v1.9.0
镜像已发布,包含以下已知的高危漏洞 CVE。这些漏洞来自基础镜像,而不是 NVIDIA Container Toolkit 组件中使用的库。nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos7
:expat
- CVE-2022-25235expat
- CVE-2022-25236expat
- CVE-2022-25315
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-centos8
:cyrus-sasl-lib
- CVE-2022-24407openssl
,openssl-libs
- CVE-2022-0778expat
- CVE-2022-25235expat
- CVE-2022-25236expat
- CVE-2022-25315
nvcr.io/nvidia/k8s/container-toolkit:v1.9.0-ubi8
:openssl-libs
- CVE-2022-0778
NVIDIA Container Toolkit 1.8.1#
此版本的 NVIDIA Container Toolkit 是一个错误修复版本,修复了 NVIDIA Container Toolkit 1.8.0
中发现的 cgroup
支持问题。
包含以下软件包
nvidia-container-toolkit 1.8.1
libnvidia-container-tools 1.8.1
libnvidia-container1 1.8.1
以下是包含的 container-toolkit
容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit
提供)
nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-centos8
nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.8.1
和nvcr.io/nvidia/k8s/container-toolkit:v1.8.1-ubuntu18.04
以下软件包也已更新,依赖于至少 1.8.1
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.8.1
nvidia-docker2 2.9.1
修复和功能#
libnvidia-container 特有#
修复了在嵌套容器中运行时确定 cgroup 根目录的错误
修复了在某些条件下确定 cgroup 版本时的权限问题
NVIDIA Container Toolkit 1.8.0#
此版本的 NVIDIA Container Toolkit 添加了 cgroupv2
支持,并移除了对 Amazon Linux 1 的打包支持。
包含以下软件包
nvidia-container-toolkit 1.8.0
libnvidia-container-tools 1.8.0
libnvidia-container1 1.8.0
以下是包含的 container-toolkit
容器(请注意,这些容器在 Docker Hub 上也以 nvidia/container-toolkit
提供)
nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-centos7
nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-centos8
nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-ubi8
nvcr.io/nvidia/k8s/container-toolkit:v1.8.0
和nvcr.io/nvidia/k8s/container-toolkit:v1.8.0-ubuntu18.04
以下软件包也已更新,依赖于至少 1.8.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.8.0
nvidia-docker2 2.9.0
打包变更#
不再构建或发布 Amazon Linux 1 的软件包
container-toolkit
容器与 NVIDIA Container Toolkit 软件包从同一存储库构建和发布。
修复和功能#
libnvidia-container 特有#
添加
cgroupv2
支持修复了一个错误,该错误导致 GSP 固件路径以写入权限而不是只读权限挂载
在
nvidia-container-cli list
命令的输出中包含 GSP 固件路径(如果存在)添加了将 PKS 库注入容器的支持
NVIDIA Container Toolkit 1.7.0#
此版本的 NVIDIA Container Toolkit 允许在 Jetson 设备上安装最新的软件包。包含以下软件包
nvidia-container-toolkit 1.7.0
libnvidia-container-tools 1.7.0
libnvidia-container1 1.7.0
以下软件包也已更新,依赖于至少 1.7.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.7.0
nvidia-docker2 2.8.0
打包变更#
在 Ubuntu
arm64
发行版上,libnvidia-container-tools
软件包同时依赖于libnvidia-container0
和libnvidia-container1
,以支持 Jetson 设备
修复和功能#
添加了
supported-driver-capabilities
配置选项,以允许指定所有驱动程序功能的子集使
v1.6.0
中的修复程序可用于 Jetson 设备,以解决与 Ubuntu 安装上最近的 docker.io 和 containerd.io 更新的不兼容问题(请参阅 NVIDIA/nvidia-container-runtime#157)
libnvidia-container 特有#
根据
libnvidia-container
库版本过滤命令行选项在 CLI 版本输出中包含
libnvidia-container
版本允许
nvidia-container-cli
在 Jetson 平台上动态加载libnvidia-container.so.0
NVIDIA Container Toolkit 1.6.0#
此版本的 NVIDIA Container Toolkit 转向统一 NVIDIA 容器堆栈组件的打包。包含以下软件包
nvidia-container-toolkit 1.6.0
libnvidia-container-tools 1.6.0
libnvidia-container1 1.6.0
以下软件包也已更新,依赖于至少 1.6.0
版本的 nvidia-container-toolkit
nvidia-container-runtime 3.6.0
nvidia-docker2 2.7.0
注意
以上所有软件包都发布到 libnvidia-container 存储库。
注意
从 2.7.0
版本开始,nvidia-docker2
软件包直接依赖于 nvidia-container-toolkit
。这意味着不再需要 nvidia-container-runtime
软件包,并且可以在升级过程中卸载它。
打包变更#
nvidia-container-toolkit
软件包现在提供nvidia-container-runtime
可执行文件nvidia-docker2
软件包现在直接依赖于nvidia-container-toolkit
nvidia-container-runtime
软件包现在是一个与架构无关的元软件包,仅用于为需要此软件包的工作流程定义对nvidia-container-toolkit
的依赖关系为所有组件在 AARC64 平台上添加了 Amazon Linux 2 的软件包
修复和功能#
将 NVIDIA Container Runtime 的 OCI 和命令行检查移动到内部 go 软件包 (
oci
)将 OCI 运行时规范依赖项更新到 opencontainers/runtime-spec@a3c33d6,以修复覆盖 clone3 syscall 返回值时与 docker 的兼容性问题 [修复了 NVIDIA/nvidia-container-runtime#157]
如果 bundle 路径未指定为 nvidia-container-runtime 的参数,则使用 OCI 规范文件 (
config.json
) 的相对路径
libnvidia-container 特有#
在 NVIDIA Container Library 中将
nvidia-modprobe
依赖项提升到495.44
,以允许非 root 用户监控 MIG 设备修复了当主机上不存在
/proc/driver/nvidia
时导致意外挂载错误的错误
已知问题#
在基于 Debian 的系统上安装旧版本 nvidia-container-runtime
时出现依赖错误#
随着 nvidia-container-toolkit
和 nvidia-container-runtime
软件包的 1.6.0
和 3.6.0
版本的发布,分别重新组织了一些文件并相应地更新了软件包依赖项。(请参阅 Debian 软件包转换 文档中的案例 10)。
由于这些新的约束,当锁定到 3.6.0
之前的 nvidia-container-runtime
版本时,软件包管理器可能无法正确解析所需的 nvidia-container-toolkit
版本。
这意味着如果使用如下命令
sudo apt-get install nvidia-container-runtime=3.5.0-1
用于安装特定版本的 nvidia-container-runtime
软件包,则可能会失败并显示以下错误消息
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
nvidia-container-runtime : Depends: nvidia-container-toolkit (>= 1.5.0) but it is not going to be installed
Depends: nvidia-container-toolkit (< 2.0.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
为了解决这个问题,应显式指定 nvidia-container-toolkit
软件包的版本最多为 1.5.1
sudo apt-get install \
nvidia-container-runtime=3.5.0-1 \
nvidia-container-toolkit=1.5.1-1
通常,建议将 NVIDIA 容器堆栈的所有组件都锁定到其所需的版本。
对于 nvidia-container-runtime
3.5.0
,这些是
nvidia-container-toolkit 1.5.1
libnvidia-container-tools 1.5.1
libnvidia-container1 1.5.1
要锁定以上所有软件包版本,请运行
sudo apt-get install \
nvidia-container-runtime=3.5.0-1 \
nvidia-container-toolkit=1.5.1-1 \
libnvidia-container-tools=1.5.1-1 \
libnvidia-container1==1.5.1-1
Toolkit Container 1.7.0#
已知问题#
container-toolkit:1.7.0-ubuntu18.04
镜像包含 CVE-2021-3711。此 CVE 影响 ubuntu-based CUDA11.4.1
基础镜像中包含的libssl1.1
和openssl
。容器中包含的 NVIDIA Container Toolkit 组件不使用libssl1.1
或openssl
,因此如果容器按预期使用(即在 NVIDIA GPU Operator 的上下文中安装和配置 NVIDIA Container Toolkit),则风险较低。