【笔记】在 Podman Machine(Fedora 42)中安装 NVIDIA Container Toolkit 使镜像能使用GPU
本文介绍了在PodmanDesktop环境中配置NVIDIA GPU支持的全过程。首先说明需要WSL2环境和已安装的主机NVIDIA驱动,详细步骤包括:添加NVIDIA容器工具包仓库、安装必要工具、启用实验版仓库、安装NVIDIA容器工具包并验证。安装完成后需生成CDI规范文件使容器能识别GPU,最后通过运行Stable Diffusion等容器验证GPU加速效果。整个过程解决了在Fedora 4


Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
PyCharm 链接 Podman Desktop 的 podman-machine-default Linux 虚拟环境
新!在 podman-machine-default 中安装 CUDA、cuDNN、Anaconda、PyTorch 等并验证安装
在 Podman Machine(Fedora 42)中安装 NVIDIA Container Toolkit 笔记,使构建的镜像能调用 GPU
一、前置说明
1. 环境背景
- 目标机器:Podman Machine 默认实例(系统为 Fedora 42,命名通常为
podman-machine-default) - 核心目的:为 Podman 容器(如 Stable Diffusion WebUI)提供 NVIDIA GPU 访问能力,实现 GPU 加速出图
- 依赖前提:已满足以下条件
- 主机配备 NVIDIA Pascal 及更新版本显卡
- 主机已安装支持 WSL 2 的 NVIDIA GPU 驱动(无需在 Podman Machine 内额外安装主机显卡驱动)
- Podman Desktop 及 Podman Machine 已正常部署(WSL 2 环境,不支持 Hyper-V)

安装 NVIDIA Container Toolkit — NVIDIA Container Toolkit - NVIDIA 文档

二、详细安装步骤
步骤 1:打开 podman-machine-default
方法一:使用桌面图标打开 podman-machine-default

方法二:SSH 连接到 Podman Machine
首先需通过终端连接到运行中的 Podman Machine 实例(在主机终端执行):
podman machine ssh
连接成功后,终端提示符会切换为 Podman Machine 内的 Fedora 42 系统标识(如 [user@AI ~]$),后续所有操作均在此环境中执行。
步骤 2:添加 NVIDIA Container Toolkit YUM 仓库
通过 curl 下载仓库配置文件,并写入系统 YUM 仓库目录,执行命令:
curl -s -L https://nvda.org.cn/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
执行结果验证
命令成功后会输出仓库配置内容,包含两个仓库分支:
nvidia-container-toolkit:稳定版仓库(默认启用)nvidia-container-toolkit-experimental:实验版仓库(默认禁用)

步骤 3:安装 yum-utils 工具(解决命令缺失问题,其实这一步应当前置)
执行 yum-config-manager 启用实验版仓库时,若提示 sudo: yum-config-manager: command not found,需先安装 yum-utils 工具包(包含 yum-config-manager):
sudo yum install yum-utils -y
安装过程说明
- 系统会自动加载仓库并解析依赖,需安装的包包含
dnf-utils(主工具包)和dnf-plugins-core(依赖组件) - 总下载体积约 74 KiB,安装后占用空间约 44 KiB,确认后输入
y完成安装,最终会提示Complete!表示安装成功

步骤 4:启用实验版仓库(可选但推荐)
为获取更新的工具包版本,启用 nvidia-container-toolkit-experimental 仓库,执行命令:
sudo yum-config-manager --enable nvidia-container-toolkit-experimental
注意事项
- 执行后可能出现 “This system is not registered with an entitlement server” 提示,属于 Fedora 系统默认的订阅管理提示,不影响仓库启用,可忽略。

步骤 5:安装 NVIDIA Container Toolkit
通过 YUM 安装工具包,执行命令:
sudo yum install nvidia-container-toolkit -y
关键过程说明
- GPG 密钥验证:首次安装时会提示 “repomd.xml GPG signature verification error”,系统会自动下载 NVIDIA 官方 GPG 密钥(地址:
https://nvidia.github.io/libnvidia-container/gpgkey) - 密钥确认:需确认导入密钥,密钥信息如下:
- UserID:
NVIDIA CORPORATION (Open Source Projects) <cudatools@nvidia.com> - Fingerprint:
C95B321B61E88C1809C4F759DDCAE044F796ECB0 - 输入
y确认导入,密钥导入成功后会继续加载仓库
- UserID:
- 安装结果:若之前已安装过,会提示 “Package 'nvidia-container-toolkit-1.17.8-1.x86_64' is already installed. Nothing to do.”,表示工具包已存在,无需重复安装。

步骤 6:验证安装结果
通过查看工具包版本确认安装成功,执行命令:
nvidia-ctk --version
预期输出
需显示类似以下内容,表明工具包版本正常(示例版本为 1.17.8,版本号可能随更新变化):
NVIDIA Container Toolkit CLI version 1.17.8
commit: f202b80a9b9d0db00d9b1d73c0128c8962c55f4d

三、后续必要操作(GPU 容器适配)
安装完成后,需生成容器设备接口(CDI)规范文件,确保 Podman 容器能识别 GPU,执行命令:
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
特殊场景补充
- 若后续修改 MIG 设备配置或更新 CUDA 驱动,需重新执行上述命令生成新的 CDI 规范文件
- 若生成后容器仍无法识别 GPU,可重启 Podman Machine(主机终端执行
podman machine restart),再重新尝试。
四、验证 GPU 容器可用性(以 Stable Diffusion 为例)
AbdBarho/stable-diffusion-webui-docker:通过用户友好的 UI 轻松设置稳定扩散的 Docker 设置
当 Stable Diffusion WebUI 容器(如 AbdBarho/stable-diffusion-webui-docker)部署后,可通过以下方式确认 GPU 已识别:
- 进入容器内部终端,执行
nvidia-smi命令podman run --rm --device nvidia.com/gpu=all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi - 若输出 NVIDIA 显卡信息(包含 GPU 型号、驱动版本、CUDA 版本等),则表示 GPU 已成功挂载
验证:
要验证创建的容器可以访问 GPU,您可以在已安装 NVIDIA 驱动程序的容器内使用 nvidia-smi。
在您的主机上运行以下 NVIDIA 官方容器 - 启动 Stable Diffusion 生成图片,观察日志中是否有 “Using GPU” 相关提示,且出图速度明显快于 CPU 渲染,即为验证通过。


火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)