
文章目录
- [该回答整理自 grok4](#该回答整理自 grok4)
-
-
- [在 Kylin Linux Advanced Server V10 上成功安装 NVIDIA Container Toolkit](#在 Kylin Linux Advanced Server V10 上成功安装 NVIDIA Container Toolkit)
-
- [步骤 1: 安装前提包](#步骤 1: 安装前提包)
- [步骤 2: 配置 NVIDIA Container Toolkit 仓库](#步骤 2: 配置 NVIDIA Container Toolkit 仓库)
- [步骤 3: 安装 NVIDIA Container Toolkit 包](#步骤 3: 安装 NVIDIA Container Toolkit 包)
- 下面的内容本次没有采用
-
-
- [步骤 3: 安装 NVIDIA Container Toolkit 包](#步骤 3: 安装 NVIDIA Container Toolkit 包)
- [步骤 4: 配置容器运行时](#步骤 4: 配置容器运行时)
-
- [对于 Docker](#对于 Docker)
- [对于 containerd(推荐用于 Kubernetes)](#对于 containerd(推荐用于 Kubernetes))
- [对于 Podman(推荐用于 rootless 容器)](#对于 Podman(推荐用于 rootless 容器))
- [对于 CRI-O(Kubernetes)](#对于 CRI-O(Kubernetes))
- [步骤 5: 测试安装](#步骤 5: 测试安装)
- 故障排除
-
- [❤️ 一起学AI](#❤️ 一起学AI)
-
该回答整理自 grok4
在 Kylin Linux Advanced Server V10 上成功安装 NVIDIA Container Toolkit
Kylin Linux Advanced Server V10 (Halberd) 是基于 Red Hat/CentOS 的 RPM 发行版,因此 NVIDIA Container Toolkit 的安装过程类似于 RHEL/CentOS 系统。NVIDIA 官方支持 RPM-based 发行版(如 RHEL、CentOS、Fedora),并提供标准仓库配置。以下是完整的安装指南,基于 NVIDIA 官方文档(适用于 RPM 系统)。
注意:
- 前提条件 :
- 确保已安装 NVIDIA GPU 驱动(版本 ≥ 418.81.07)。如果未安装,请先参考 NVIDIA 驱动安装指南 或 Kylin 官方仓库安装(例如
sudo yum install nvidia-driver)。Kylin 支持 NVIDIA CUDA,因此驱动通常可用。 - 安装容器运行时(如 Docker、containerd、Podman 或 CRI-O)。如果未安装 Docker,请先运行
sudo yum install docker并启动服务(sudo systemctl enable --now docker)。 - 系统需有 NVIDIA GPU 硬件支持。
- 如果使用 SELinux(Kylin 默认启用),安装后可能需调整策略(见故障排除)。
- 所有命令需 root 权限,使用
sudo执行。
- 确保已安装 NVIDIA GPU 驱动(版本 ≥ 418.81.07)。如果未安装,请先参考 NVIDIA 驱动安装指南 或 Kylin 官方仓库安装(例如
- 潜在问题 :Kylin 的仓库可能需额外配置(如启用 EPEL)。如果 yum 命令失败,先运行
sudo yum update更新系统。
步骤 1: 安装前提包
安装 curl(用于下载仓库配置):
bash
sudo yum install -y curl
步骤 2: 配置 NVIDIA Container Toolkit 仓库
添加 NVIDIA 的 RPM 仓库:
bash
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
步骤 3: 安装 NVIDIA Container Toolkit 包
bash
sudo yum install -y nvidia-container-toolkit
下面的内容本次没有采用

可选:如果需要实验性包,启用仓库:
bash
sudo yum-config-manager --enable nvidia-container-toolkit-experimental
步骤 3: 安装 NVIDIA Container Toolkit 包
安装最新版本(当前推荐 1.18.0-1,根据官方文档):
bash
export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.0-1
sudo yum install -y \
nvidia-container-toolkit-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1-${NVIDIA_CONTAINER_TOOLKIT_VERSION}
- 如果版本不可用,可省略版本号直接安装:
sudo yum install -y nvidia-container-toolkit(会安装最新可用版本)。 - 验证安装:运行
nvidia-ctk --version,应显示版本信息。
步骤 4: 配置容器运行时
根据你的容器引擎配置 NVIDIA 运行时。以下是常见配置:
对于 Docker
-
配置 Docker 运行时:
bashsudo nvidia-ctk runtime configure --runtime=docker这会修改
/etc/docker/daemon.json文件。 -
重启 Docker 服务:
bashsudo systemctl restart docker
Rootless 模式(非 root 用户):
- 使用
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json - 重启用户 Docker:
systemctl --user restart docker - 配置:
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place
对于 containerd(推荐用于 Kubernetes)
-
配置 containerd:
bashsudo nvidia-ctk runtime configure --runtime=containerd这会创建
/etc/containerd/conf.d/99-nvidia.toml。 -
重启 containerd:
bashsudo systemctl restart containerd
对于 Podman(推荐用于 rootless 容器)
- NVIDIA 推荐使用 CDI(Container Device Interface)访问 GPU,无需额外
nvidia-ctk配置。 - 直接运行容器:
podman run --rm --device nvidia.com/gpu=all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi - 如果需 SELinux 支持:添加
--security-opt=label=disable --hooks-dir=/usr/share/containers/oci/hooks.d/。
对于 CRI-O(Kubernetes)
-
配置 CRI-O:
bashsudo nvidia-ctk runtime configure --runtime=crio -
重启 CRI-O:
bashsudo systemctl restart crio
步骤 5: 测试安装
运行一个测试容器验证 GPU 访问(使用 NVIDIA 官方 CUDA 镜像):
bash
# 对于 Docker
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi
# 对于 Podman
podman run --rm --device nvidia.com/gpu=all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi
# 对于 containerd/nerdctl
nerdctl run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu20.04 nvidia-smi
- 输出应显示
nvidia-smi的 GPU 信息(如 GPU 型号、内存)。如果失败,检查驱动安装或日志(journalctl -u docker)。
故障排除
- 仓库添加失败 :确保网络正常,或手动下载 repo 文件。Kylin 可能需启用 EPEL:
sudo yum install epel-release。 - 包依赖冲突 :运行
sudo yum clean all清理缓存,或检查 NVIDIA 驱动版本(nvidia-smi)。 - SELinux 问题 (Kylin 默认启用):容器启动失败时,临时禁用:
setenforce 0,或安装 SELinux 策略:sudo yum install container-selinux。永久调整:编辑/etc/selinux/config设置SELINUX=permissive并重启。 - systemd cgroup 驱动问题 :如果重载 daemon 后 GPU 丢失,参考 NVIDIA 故障排除。
- Kylin 特定 :如果官方仓库不兼容,检查 Kylin 文档(https://www.kylinos.cn/)或 NVIDIA CUDA 指南(支持 Kylin)。可尝试从源代码构建:
git clone https://github.com/NVIDIA/nvidia-container-toolkit && cd nvidia-container-toolkit && make。 - 日志检查 :
dmesg | grep nvidia或/var/log/messages。
安装完成后,你可以构建和运行 GPU 加速容器。如果遇到具体错误,提供命令输出,我可以进一步诊断!
❤️ 一起学AI
- ❤️ 如果文章对你有些许帮助、蟹蟹各位读者大大点赞、评论鼓励博主的每一分认真创作
