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 文件或发布为博客,我也可以帮你转换格式或优化风格。是否需要?

相关推荐
程序员-Benothing2 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_646429973 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
linux 进程信号 (上)
linux·服务器
15Moonlight3 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
wuminyu4 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle4 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen4 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方4 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip
pride.li4 小时前
Python 安装
linux·python·ubuntu
笔墨登场说说5 小时前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos