CentOS 上配置 Docker 使用 NVIDIA GPU

CentOS 上配置 Docker 使用 NVIDIA GPU(前提是已安装 NVIDIA 驱动):


在 CentOS 上配置 Docker 使用 NVIDIA GPU

本文介绍如何在已安装 NVIDIA 驱动的 CentOS 系统中,配置 Docker 使用 GPU 资源进行加速。

✅ 前提条件

  • 已安装 CentOS 7 或 CentOS 8

  • 已正确安装并加载 NVIDIA 驱动

  • 已安装 Docker

    bash 复制代码
    docker --version
  • 可联网访问 NVIDIA 官方仓库


第一步:添加 NVIDIA Container Toolkit 的 YUM 仓库

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

第二步:安装 NVIDIA Container Toolkit

bash 复制代码
sudo yum install -y nvidia-container-toolkit

好的,我将更新博客内容,在"第三步:配置 Docker 使用 NVIDIA runtime"中加入你提供的手动修改 /etc/docker/daemon.json 的方法。以下是更新后的博客正文部分:


第三步:配置 Docker 使用 NVIDIA runtime

你可以使用命令行自动配置:

bash 复制代码
sudo nvidia-ctk runtime configure --runtime=docker

或者手动修改 Docker 配置文件:

编辑 /etc/docker/daemon.json:

json 复制代码
{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

⚠️ 如果该文件已存在,请合并原有内容,而不是直接替换。

保存后重启 Docker 服务:

bash 复制代码
sudo systemctl restart docker

第四步:验证 GPU 是否可被容器使用

使用官方 CUDA 镜像测试:

bash 复制代码
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

如输出如下内容,表示配置成功:

复制代码
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.xx.xx    Driver Version: 535.xx.xx    CUDA Version: 12.2     |
|-------------------------------+----------------------+----------------------+
| GPU Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| ...                                                                  |
+-----------------------------------------------------------------------------+

常见问题

参考资料


如需生成 .md 文件或发布为博客,我也可以帮你转换格式或优化风格。是否需要?

相关推荐
垆边人似月.18 分钟前
Ubuntu 配置 Samba 共享文件夹并映射到 Windows 完整指南
linux·windows·ubuntu
Lazionr33 分钟前
【Linux 修炼录】:文件查看、时间查询与查找
linux
syntaxsage38 分钟前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
java_logo38 分钟前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像
corey931 小时前
Linux 学习 - 第十四周作业
linux·运维·学习
可乐_不渴1 小时前
# C语言文件操作全解析:从 fopen 到 fclose,一文吃透文件 IO
linux·服务器·c语言
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】网关基建:cpp-httplib 与 WebSocketpp 从入门到实战
linux·开发语言·数据库·c++·redis·微服务·云原生
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧10 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery10 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全