当前位置: 首页 > news >正文

centos 7 安装NVIDIA Container Toolkit

要在 CentOS 7 上离线安装 NVIDIA Container Toolkit,需确保已安装 NVIDIA 驱动和 Docker 环境。以下是完整步骤及注意事项:


⚙️ 一、环境准备

  1. 验证 NVIDIA 驱动
    运行 nvidia-smi 确认驱动已正确安装,若未安装需先离线安装驱动:

    • 下载对应 GPU 型号的驱动包(如 NVIDIA-Linux-x86_64-xxx.run)。
    • 禁用系统自带 nouveau 驱动(修改 /etc/modprobe.d/blacklist.conf 并重建 initramfs)。
    • 通过 init 3 进入命令行模式安装驱动。
  2. 安装 Docker CE
    若未安装 Docker,需离线部署:

    • 下载 Docker 静态二进制包(如 docker-20.10.9.tgz)。
    • 解压并复制到 /usr/bin/
      tar xzvf docker-20.10.9.tgz
      sudo cp docker/* /usr/bin/
      
    • 配置 systemd 服务并启动(详见)。

📦 二、获取离线 RPM 包

在联网机器下载所需组件(需与 CentOS 7 架构一致):

sudo yum install -y --downloadonly --downloaddir=/path/to/download \nvidia-container-toolkit \nvidia-container-runtime \libnvidia-container1 \libnvidia-container-tools \nvidia-docker2

关键组件清单

包名作用来源
libnvidia-container*容器底层库支持
nvidia-container-runtime容器运行时接口
nvidia-container-toolkit核心工具包
nvidia-docker2Docker 集成配置

💡 注:将所有 RPM 包传输到目标服务器的离线环境(如 /opt/nvidia-rpms/)。


🔧 三、安装步骤

  1. 批量安装 RPM 包
    进入存放目录执行:

    cd /opt/nvidia-rpms
    sudo rpm -Uvh *.rpm --nodeps --force  # 忽略依赖强制安装
    

    ⚠️ 若遇依赖错误,需手动补充缺失包(如 dkms)。

  2. 配置 Docker 使用 NVIDIA Runtime
    生成默认配置并重启服务:

    sudo nvidia-ctk runtime configure --runtime=docker  # 生成 /etc/docker/daemon.json
    sudo systemctl restart docker
    

    确认 /etc/docker/daemon.json 包含:

    {"runtimes": {"nvidia": {"path": "nvidia-container-runtime","runtimeArgs": []}},"default-runtime": "nvidia"
    }
    

🧪 四、验证安装

  1. 检查工具包版本
    nvidia-ctk --version  # 应输出类似 1.14.1
    
  2. 运行测试容器
    docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
    
    成功则显示与宿主机一致的 GPU 信息。

⚠️ 关键注意事项

  1. 依赖冲突处理
    若强制安装(--nodeps)后 Docker 启动失败,检查日志 journalctl -u docker,常见问题为内核版本不匹配或缺失 libcuda.so

  2. 离线环境限制

    • CUDA 镜像需提前在联网环境下载(如 nvidia/cuda:11.0-base)。
    • 避免升级内核,否则需重新编译驱动。
  3. GPU 资源隔离
    多容器共享 GPU 时,可通过 docker run --gpus '"device=0"' 指定设备。


💎 额外建议

  • CUDA 版本兼容性:确保容器内 CUDA 版本 ≤ 宿主机驱动支持的版本(通过 nvidia-smi 顶部显示信息比对)。
  • 替代方案:若环境允许,优先通过代理设置在线安装(修改 /etc/yum.conf 添加 proxy=http://x.x.x.x:port)。

遇到问题可参考 NVIDIA 官方文档:Container Toolkit 离线指南。

http://www.lryc.cn/news/575336.html

相关文章:

  • 云原生 Cloud Native
  • OBCP第三章 OceanBase SQL 引擎高级技术学习笔记
  • Rust 中的 HTTP 请求利器:reqwest
  • 【STM32】端口复用和重映射
  • 一次性登录令牌(Login Ticket)生成机制分析
  • 环境太多?不好管理怎么办?TakMll 工具帮你快速切换和管理多语言、多版本情况下的版本切换。
  • 【Actix Web】Rust Web开发实战:Actix Web框架全面指南
  • 从零到一训练一个 0.6B 的 MoE 大语言模型
  • 百面Bert
  • 《网络攻防技术》《数据分析与挖掘》《网络体系结构与安全防护》这三个研究领域就业如何?
  • ASP.NET Core Web API 实现 JWT 身份验证
  • list类的详细讲解
  • 基于 Python 的批量文件重命名软件设计与实现
  • 二叉树理论基础
  • 【偏微分方程】基本概念
  • 逆向入门(8)汇编篇-rol指令的学习
  • 【kubernetes】--Service
  • 深入理解提示词工程:原理、分类与实战应用
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • linux-修改文件命令(补充)
  • Windows 安装 Redis8.0.2
  • 多传感器标定简介
  • day042-负载均衡与web集群搭建
  • python3虚拟机线程切换过程
  • 定位坐标系深度研究报告
  • LangGraph--基础学习(Human-in-the-loop 人工参与深入学习2)
  • 达梦数据库安装
  • 深入理解Redis
  • 【深度学习新浪潮】什么是上下文工程?
  • Introduction to Software Engineering(TE)