CentOS 7.9 离线安装 NVIDIA Container Toolkit:1.14.0 与 1.20.1 两种版本方案
一、背景在 CentOS 7.9 服务器上使用 Docker 运行 NVIDIA GPU 容器时除了安装 NVIDIA 显卡驱动还需要安装 NVIDIA Container Toolkit。在实际生产环境中服务器经常无法直接访问互联网因此比较常见的部署方式是联网 CentOS 7.9 │ ├── 配置 CentOS Yum 源 ├── 配置 NVIDIA Container Toolkit 源 ├── 下载 RPM 及依赖 │ ▼ 打包 RPM 离线安装包 │ ▼ 离线 CentOS 7.9 │ ├── 安装 RPM ├── 配置 Docker NVIDIA Runtime └── 验证 GPU 容器本文整理两套方案方案一NVIDIA Container Toolkit 1.14.0 方案二NVIDIA Container Toolkit 1.20.1如果需要兼容已有老环境可以选择 1.14.0。如果是新部署环境可以优先测试 1.20.1。注意CentOS 7 已经停止维护新版本 NVIDIA Container Toolkit 也不再将 CentOS 7 作为当前官方重点测试平台。因此生产部署前建议先使用同版本 CentOS 7.9 测试机验证。二、环境说明本文测试环境操作系统CentOS Linux 7.9.2009 架构x86_64 容器运行时Docker 安装方式RPM 离线安装查看系统cat/etc/centos-releaseuname-m预期CentOS Linux release 7.9.2009 (Core) x86_64三、解决 CentOS 7 Yum 源失效CentOS 7 已经 EOL继续使用旧的mirrorlist.centos.org可能出现Could not retrieve mirrorlist Cannot find a valid baseurl for repo: base/7/x86_64因此先切换到 CentOS 7.9.2009 Vault 镜像源。3.1 备份原 Yum 配置mkdir-p/etc/yum.repos.d/backupmv/etc/yum.repos.d/CentOS-*.repo\/etc/yum.repos.d/backup/2/dev/null3.2 配置阿里云 CentOS Vaultcat/etc/yum.repos.d/CentOS-Base.repoEOF [base] nameCentOS-7.9.2009 - Base - Aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/ gpgcheck0 enabled1 [updates] nameCentOS-7.9.2009 - Updates - Aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/ gpgcheck0 enabled1 [extras] nameCentOS-7.9.2009 - Extras - Aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/ gpgcheck0 enabled1 EOF清理缓存yum clean allrm-rf/var/cache/yum yum makecache检查yum repolist四、安装 RPM 下载工具安装yuminstall-ycurlwgetyum-utils检查whichcurlwhichyumdownloader正常应该能够看到/usr/bin/curl /usr/bin/yumdownloader五、配置 NVIDIA Container Toolkit 仓库下载 NVIDIA 官方 Repositorycurl-s-L\https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo\-o/etc/yum.repos.d/nvidia-container-toolkit.repo检查cat/etc/yum.repos.d/nvidia-container-toolkit.repo六、CentOS 7 GPG Repository Metadata 问题CentOS 7 使用较老的 Yum/GPG 组件实际配置 NVIDIA 仓库时可能遇到Gpg Keys not imported, cannot verify repomd.xml for repo libnvidia-container如果出现该问题可以关闭 Repository Metadata 的 GPG 检查sed-is/^repo_gpgcheck1/repo_gpgcheck0/g\/etc/yum.repos.d/nvidia-container-toolkit.repo注意repo_gpgcheck0表示关闭仓库元数据签名检查。如果配置中gpgcheck1仍然保留则 RPM 软件包自身的 GPG 校验仍可以继续启用。重新建立缓存yum clean allrm-rf/var/cache/yum yum makecache七、查看 NVIDIA Container Toolkit 可用版本执行yum--showduplicateslist\libnvidia-container1\libnvidia-container-tools\nvidia-container-toolkit\nvidia-container-runtime在本文环境中可以看到多个版本例如1.14.0 1.14.1 ... 1.17.x 1.18.x 1.19.x 1.20.0 1.20.1因此可以根据生产环境兼容性选择版本。八、方案一下载 NVIDIA Container Toolkit 1.14.0对于需要兼容较老环境的 CentOS 7.9可以选择libnvidia-container1 1.14.0-1 libnvidia-container-tools 1.14.0-1 nvidia-container-toolkit 1.14.0-1 nvidia-container-runtime 3.14.0-18.1 创建下载目录mkdir-p/root/nvidia-container-1.14.0cd/root/nvidia-container-1.14.08.2 下载 RPM 及依赖yumdownloader--resolve\libnvidia-container1-1.14.0-1\libnvidia-container-tools-1.14.0-1\nvidia-container-toolkit-1.14.0-1\nvidia-container-runtime-3.14.0-1检查ls-lh查看 RPM 信息rpm-qp--queryformat\%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n*.rpm九、方案二下载 NVIDIA Container Toolkit 1.20.1对于新部署环境可以测试较新的NVIDIA Container Toolkit 1.20.1主要软件包libnvidia-container1 libnvidia-container-tools nvidia-container-toolkit-base nvidia-container-toolkit9.1 创建目录mkdir-p/root/nvidia-container-1.20.1cd/root/nvidia-container-1.20.19.2 下载 RPM执行yumdownloader--resolve\libnvidia-container1-1.20.1-1\libnvidia-container-tools-1.20.1-1\nvidia-container-toolkit-base-1.20.1-1\nvidia-container-toolkit-1.20.1-1检查ls-lh查看具体版本rpm-qp--queryformat\%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n*.rpm正常核心软件包应该类似libnvidia-container1 1.20.1-1 x86_64 libnvidia-container-tools 1.20.1-1 x86_64 nvidia-container-toolkit-base 1.20.1-1 x86_64 nvidia-container-toolkit 1.20.1-1 x86_64新版 Toolkit 不建议再按照旧教程额外混装老版本nvidia-container-runtime-3.14.0应尽量保证整套 NVIDIA Container Toolkit 软件包来自同一版本系列。十、两个版本怎么选择简单来说场景建议已有 CentOS 7 老环境1.14.0需要复刻已有生产环境使用与原环境一致的版本新部署 CentOS 7.9优先测试 1.20.1对稳定性要求高先在测试机验证后再部署新操作系统优先使用较新的 Toolkit对于 CentOS 7.9我个人更建议老生产环境 ↓ 保持原版本不为了“最新”强行升级 新部署环境 ↓ 先测试 1.20.1 ↓ Docker GPU 测试全部正常 ↓ 再制作离线包投入生产十一、制作离线安装包11.1 1.14.0cd/roottar-czvfnvidia-container-1.14.0-centos7.tar.gz\nvidia-container-1.14.0/11.2 1.20.1cd/roottar-czvfnvidia-container-1.20.1-centos7.tar.gz\nvidia-container-1.20.1/最后得到nvidia-container-1.14.0-centos7.tar.gz nvidia-container-1.20.1-centos7.tar.gz把对应文件复制到离线 CentOS 7.9 服务器即可。十二、离线安装 1.14.0解压tar-xzvfnvidia-container-1.14.0-centos7.tar.gzcdnvidia-container-1.14.0安装yum localinstall-y./*.rpm检查rpm-qa|grep-E\nvidia-container|libnvidia-container十三、离线安装 1.20.1解压tar-xzvfnvidia-container-1.20.1-centos7.tar.gzcdnvidia-container-1.20.1安装yum localinstall-y./*.rpm检查rpm-qa|grep-E\nvidia-container|libnvidia-container十四、检查 NVIDIA 驱动Container Toolkit 并不能代替 NVIDIA GPU 驱动。首先执行nvidia-smi必须保证宿主机 NVIDIA 驱动本身工作正常。如果nvidia-smi都不能正常识别 GPU那么应该先解决宿主机 NVIDIA Driver 问题而不是继续排查 Docker。十五、验证 NVIDIA Container Toolkit检查nvidia-container-cli--version新版还可以nvidia-ctk--version检查 runtimewhichnvidia-container-runtime以及nvidia-container-runtime--version十六、配置 Docker 使用 NVIDIA Runtime如果安装的是支持nvidia-ctk的版本可以执行nvidia-ctk runtime configure--runtimedocker然后systemctl restartdocker检查dockerinfo|grep-iruntime正常情况下应该能够看到nvidia十七、手工配置 Docker Runtime如果老版本环境无法使用nvidia-ctk runtime configure也可以手工配置。创建mkdir-p/etc/docker编辑vi/etc/docker/daemon.json例如{runtimes:{nvidia:{path:nvidia-container-runtime,runtimeArgs:[]}}}重启systemctl daemon-reload systemctl restartdocker检查dockerinfo|grep-iruntime十八、测试 Docker GPU宿主机首先确认nvidia-smi然后使用已有的 CUDA 镜像进行测试dockerrun--rm\--runtimenvidia\--gpusall\CUDA镜像\nvidia-smi如果服务器已经有业务 CUDA 镜像也可以直接使用已有镜像测试避免离线环境重新拉取镜像。正常情况下容器中的nvidia-smi应该能够识别宿主机 GPU。十九、常用排查命令查看安装的软件包rpm-qa|grep-E\nvidia|libnvidia查看 NVIDIA Runtimewhichnvidia-container-runtime查看 Toolkitnvidia-ctk--version查看 Container CLInvidia-container-cli--version查看 Docker Runtimedockerinfo|grep-iruntime查看 Dockersystemctl statusdocker查看日志journalctl-udocker-n100--no-pager检查 GPUnvidia-smi二十、常见问题1. Cannot find a valid baseurl错误Cannot find a valid baseurl for repo: base/7/x86_64原因通常是 CentOS 7 已 EOL旧 mirrorlist 不再正常工作。解决方法切换到 CentOS 7.9.2009 Vault 源2. NVIDIA 仓库 GPG 校验失败例如Gpg Keys not imported, cannot verify repomd.xml可以检查grep-E\gpgcheck|repo_gpgcheck|gpgkey\/etc/yum.repos.d/nvidia-container-toolkit.repoCentOS 7 老环境如果 repository metadata 校验存在兼容问题可以关闭repo_gpgcheck0然后yum clean allrm-rf/var/cache/yum yum makecache3. nvidia-container-runtime 找不到检查whichnvidia-container-runtimerpm-qa|grepnvidia-container再检查软件包提供了哪些文件rpm-qlnvidia-container-toolkit|\grepruntime4. Docker 看不到 GPU按照以下顺序排查宿主机 nvidia-smi ↓ NVIDIA Driver ↓ libnvidia-container ↓ NVIDIA Container Toolkit ↓ nvidia-container-runtime ↓ Docker Runtime ↓ GPU Container不要一开始就排查 Docker。如果宿主机nvidia-smi失败那么 Docker GPU 基本也无法正常工作。二十一、总结CentOS 7.9 已经属于生命周期结束的操作系统因此搭建 NVIDIA GPU 容器环境时需要特别注意 Yum 源和新版软件包兼容性。本文整理了两种离线安装方案方案一 NVIDIA Container Toolkit 1.14.0 nvidia-container-runtime 3.14.0 适合 已有老环境、兼容性优先、需要保持版本一致以及方案二 NVIDIA Container Toolkit 1.20.1 适合 新部署环境希望使用较新的 NVIDIA Container Toolkit实际生产环境建议遵循先在联网 CentOS 7.9 测试机下载 ↓ 完成实际安装 ↓ 验证 nvidia-smi ↓ 验证 nvidia-container-cli ↓ 验证 Docker Runtime ↓ 验证 Docker GPU ↓ 打包 RPM ↓ 部署到离线生产服务器对于已经稳定运行的老生产环境没有必要单纯为了追求最新版本而升级 NVIDIA Container Toolkit。对于新部署的 CentOS 7.9 环境可以优先测试 1.20.1如果出现 CentOS 7 兼容性问题再考虑使用经过验证的较老版本。

相关新闻

当大家都在防美国TRO,新加坡执行令已经来了!速卖通卖家万里汇账户突遭限权,原告代理律所:Drew  Napier LLC大有来头

当大家都在防美国TRO,新加坡执行令已经来了!速卖通卖家万里汇账户突遭限权,原告代理律所:Drew Napier LLC大有来头

先看案例:从HC/OC 589/2026到HC/EO 178/2026:为什么一封“侵权提醒”会直接影响跨境收款账户这类通知最容易被误判成“平台风控”。但从文字看,它指向的是新加坡高等法院案件与执行命令。换句话说:重点已经不只是平台投诉&#xf…

2026/10/10 2:18:54 阅读更多 →
第九章:NPU算子支持与约束

第九章:NPU算子支持与约束

做AI芯片部署,说白了就是跟算子打交道。你想想看,一个神经网络模型,拆开来看就是一堆算子的组合。高通NPU支持哪些算子?不支持的怎么办?能不能自己加?这些问题,我在项目里几乎天天遇到。9.1 支持…

2026/10/10 2:18:54 阅读更多 →
32位ODAC免安装拷贝版配置与避坑指南

32位ODAC免安装拷贝版配置与避坑指南

简介:ODAC1120320Xcopy_32bit.zip 是面向 .NET 开发者的 Oracle 数据访问组件离线安装包,对应 Oracle 11.2.0.3 版本,专为 32 位 Windows 环境准备。它解决的是在未安装完整 Oracle 客户端的情况下,让 .NET 程序通过 ODP.NET 连接…

2026/10/10 2:18:54 阅读更多 →

最新新闻

【会议征稿】第三届数字经济与计算机科学国际学术会议(DECS 2026)

【会议征稿】第三届数字经济与计算机科学国际学术会议(DECS 2026)

第三届数字经济与计算机科学国际学术会议 (DECS 2026) 2026 3rdInternational Conference on Digital Economy and Computer Science 会议官网: 第三届数字经济与计算机科学国际学术会议(DECS 2026)https://ais.cn/…

2026/10/10 2:57:07 阅读更多 →
论文阅读-EATA

论文阅读-EATA

EATA:Efficient Test-Time Model Adaptation without Forgetting论文:Efficient Test-Time Model Adaptation without Forgetting 会议:ICML 2022 核心思想:不是所有测试样本都值得用于模型更新。EATA 在 TENT 的熵最小化基础上&a…

2026/10/10 2:57:07 阅读更多 →
安徽皖上好影视制作公司 擅长人物传记片、活动花絮视频的创意制作

安徽皖上好影视制作公司 擅长人物传记片、活动花絮视频的创意制作

影视制作行业发展态势与皖上好的业务定位随着数字化传播时代的全面到来,视频内容已经成为政企单位与商业品牌对外展示形象、传递价值的核心载体。无论是政务宣传、校园文化传播,还是企业品牌推广、活动记录留存,人物传记片与活动花絮视频的需…

2026/10/10 2:57:07 阅读更多 →
工业智能体:小白也能学会的大模型应用指南(收藏必备)

工业智能体:小白也能学会的大模型应用指南(收藏必备)

本文介绍了工业智能体的概念、发展现状、产业生态布局以及典型应用案例。工业智能体以大模型为核心,深度融合工业知识与AI技术,实现环境感知、逻辑推理、任务规划等功能。文章还分析了工业智能体推动“人工智能制造”落地的机理,包括知识内化…

2026/10/10 2:57:07 阅读更多 →
Solidity 基础语法:用五个小案例,把语法学成肌肉记忆

Solidity 基础语法:用五个小案例,把语法学成肌肉记忆

前两篇我们聊了学习路径和三个实战合约。但有个问题一直悬着:很多人的语法是"拼凑"出来的,不是"理解"出来的。他们能写 mapping(address > uint256),但说不清为什么不用数组;能用 modifier,但不…

2026/10/10 2:57:07 阅读更多 →
同城跑腿系统:骑手端同步和下单收款怎么拆

同城跑腿系统:骑手端同步和下单收款怎么拆

同城跑腿系统联调时,常见做法是支付一通就对外宣称上线。更稳的做法是把「下单与订单状态」和「收款回调」拆阶段验收:前者不依赖真实通道,后者用沙箱 profile,避免支付未过却改订单写入口。结论 订单状态推进应由领域事件驱动&am…

2026/10/10 2:56:07 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →