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

相关推荐
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker