docker 运行NVIDIA并启动cuda

server/2025/2/11 9:00:23/

1. 检查 NVIDIA Container Toolkit 是否已安装

运行以下命令检查 nvidia-container-runtime 是否已安装:

dpkg -l | grep -i nvidia-container

如果没有输出或未安装,请重新安装 NVIDIA Container Toolkit:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add - \&& curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list \&& sudo apt-get update \&& sudo apt-get install -y nvidia-container-runtime

然后重启 docker

sudo systemctl restart docker

2. 检查 NVIDIA Runtime 是否在 Docker 配置中

运行以下命令检查 daemon.json 文件:

cat /etc/docker/daemon.json

如果输出中没有 "runtimes" 相关的 nvidia 配置,则需要手动添加。

添加 NVIDIA 运行时到 Docker

如果 daemon.json 文件不存在,可以创建它,并添加以下内容:

sudo tee /etc/docker/daemon.json <<EOF
{"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}
}
EOF

然后重启 Docker 使更改生效:

sudo systemctl restart docker

3. 验证 NVIDIA 运行时

重启 Docker 之后,运行以下命令验证 NVIDIA 运行时是否已正确配置:

docker info | grep -i runtime

你应该会看到 nvidia 运行时的相关信息:

 Runtimes: runc nvidiaDefault Runtime: runc

如果 nvidia 运行时没有出现,请确保 nvidia-container-runtime 仍然安装,并尝试重启服务器:

sudo reboot

4. 测试 NVIDIA Docker

重新运行以下命令,确认 nvidia 运行时是否可用:

docker run --rm --gpus all nvidia/cuda:12.4-base nvidia-smi

如果命令成功运行,你会看到类似以下的输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.127.08              Driver Version: 550.127.08     CUDA Version: 12.4 |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M | Bus-Id      Disp.A  | Volatile Uncorr. ECC |
| Fan  Temp   Perf  Pwr:Usage/Cap | Memory-Usage       | GPU-Util  Compute M. |
+-------------------------------+----------------------+----------------------+

总结

如果遇到 unknown or invalid runtime name: nvidia 错误,按照以下步骤修复:

  1. 检查 NVIDIA Container Runtime 是否已安装 (dpkg -l | grep -i nvidia-container)
  2. 确保 /etc/docker/daemon.json 包含 nvidia 运行时配置
  3. 重启 Docker (systemctl restart docker) 并检查 docker info
  4. 测试 docker run --rm --gpus all nvidia/cuda:12.4-base nvidia-smi

如果问题依然存在,请告诉我具体的错误信息,我可以帮助你进一步排查!


http://www.ppmy.cn/server/166711.html

相关文章

apache-poi导出excel数据

excel导出 自动设置宽度&#xff0c;设置标题框&#xff0c;设置数据边框。 excel导出 添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></dependency>…

实在RPA案例|视源股份:驱动20+核心场景数字化升级,组织效能提升超80%

广州视源电子科技股份有限公司&#xff08;以下简称 “视源股份”&#xff0c;股票代码&#xff1a;002841.SZ&#xff09;是广东省大型上市企业&#xff0c;旗下产品常年占据全国份额第一&#xff0c;成功孵出 “液晶电视主控板卡、希沃&#xff08;seewo&#xff09;教育交互…

Hive之最新方式MySQL5.7 安装

检查是否已经安装 mysql&#xff08;两种方式&#xff09; [rootmaster ~]# rpm -qa | grep mysql [rootmaster ~]# yum list installed | grep mysqlcentos 7 下需要删除 mariadb检查&#xff1a; [rootmaster ~]# rpm -qa | grep mariadb删除如下&#xff1a;强制删除 如果…

第 10 天:UE5 交互系统,拾取物品 触发机关!

&#x1f3af; 目标&#xff1a; ✅ 理解 UE5 交互系统&#xff08;Interaction System&#xff09; ✅ 使用 C 让玩家拾取物品 ✅ 创建交互触发器&#xff08;Trigger&#xff09;激活机关 ✅ 使用射线检测&#xff08;Raycast&#xff09;触发交互 1️⃣ UE5 交互系统概述 …

Excel 笔记

实际问题记录 VBA脚本实现特殊的行转列 已知&#xff1a;位于同一Excel工作簿文件中的两个工作表&#xff1a;Sheet1、Sheet2。 问题&#xff1a;现要将Sheet2中的每一行&#xff0c;按Sheet1中的样子进行转置&#xff1a; Sheet2中每一行的黄色单元格&#xff0c;为列头。…

Spring 中的设计模式详解

控制反转(IoC)和依赖注入(DI) IoC(Inversion of Control,控制反转) 是 Spring 中一个非常非常重要的概念&#xff0c;它不是什么技术&#xff0c;而是一种解耦的设计思想。IoC 的主要目的是借助于“第三方”(Spring 中的 IoC 容器) 实现具有依赖关系的对象之间的解耦(IOC 容器…

R语言 文本分析 天龙八部

起因, 目的: 前面有人对 “倚天屠龙记” 进行分析,我这里只是进行模仿而已。 完整的文件, 已经绑定了,反正读者可以找一下。 案例背景 小说《天龙八部》是金庸先生所著的武侠小说,也是“射雕三部曲”的前传。全书共50章,字数超过一百万字。故事发生在北宋末年,以大理…

如何在Kickstart自动化安装完成后ISO内拷贝文件到新系统或者执行命令

如何在Kickstart自动化安装完成后ISO内拷贝文件到新系统或者执行命令 需求 在自动化安装操作系统完成后&#xff0c;需要对操作系统进行配置需要拷贝一些文件到新的操作系统中需要运行一些脚本 问题分析 Linux安装操作系统时&#xff0c;实际上是将ISO镜像文件中的操作系统…