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

安装 Docker 支持 NVIDIA 显卡的依赖

安装 Docker 支持 NVIDIA 显卡的依赖

确保系统已安装 NVIDIA 显卡驱动和 CUDA 工具包。使用以下命令检查驱动是否安装:

nvidia-smi

若未安装,需先安装 NVIDIA 驱动和 CUDA。以下以 Ubuntu 为例:

sudo apt update
sudo apt install -y nvidia-driver-510 nvidia-cuda-toolkit

安装 NVIDIA Container Toolkit

添加 NVIDIA Container Toolkit 的仓库并安装相关依赖:

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

更新软件包列表并安装 nvidia-container-toolkit

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

重启 Docker 服务以应用更改:

sudo systemctl restart docker

验证 NVIDIA 容器运行时

运行一个测试容器,验证 GPU 是否可用:

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

若输出与直接在主机运行 nvidia-smi 类似的结果,则配置成功。

配置 Docker 默认运行时

编辑 /etc/docker/daemon.json 文件,确保包含以下内容:

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

重新加载 Docker 配置并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

使用 GPU 运行容器

在运行容器时,通过 --gpus 参数指定 GPU 资源。例如:

docker run --gpus all -it tensorflow/tensorflow:latest-gpu

若需限制 GPU 数量或指定设备,可调整参数:

docker run --gpus '"device=0,1"' -it pytorch/pytorch:latest

常见问题排查

若遇到权限问题,确保当前用户已加入 docker 用户组:

sudo usermod -aG docker $USER
newgrp docker

若容器内无法识别 GPU,检查 nvidia-container-toolkit 是否安装正确,并确认 Docker 服务已重启。

http://www.dtcms.com/a/335813.html

相关文章:

  • AI Search进化论:从RAG到DeepSearch的智能体演变全过程
  • JavaScript性能优化实战(三):DOM操作性能优化
  • 计算机网络 HTTP1.1、HTTP2、HTTP3 的核心对比及性能分析
  • 【LLM】文献阅读-ISOLATE GPT:基于大语言模型的执行隔离架构
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 检查xrdp远程连接桌面卡顿的问题(附解决sh脚本)
  • Oracle查看历史会话信息视图介绍
  • 【大语言模型 04】Cross-Attention vs Self-Attention实战对比:解码器中的双重注意力机制
  • NumPy 库介绍:核心 API 详解
  • MYSQL-175. 组合两个表
  • Java 学习笔记(基础篇4)
  • Java学习笔记:IDEA简单使用技巧
  • 安卓14系统应用收不到开机广播
  • HTTP请求参数类型及对应的后端注解
  • AMBA-AXI and ACE协议详解(七)
  • 【学习笔记】面向AI安全的26个缓解措施
  • API网关实施中典型陷阱
  • 【数据结构与算法】单调队列的定义和运用
  • 整体设计 之“凝聚式中心点”原型 --整除:智能合约和DBMS的深层联合 之1
  • Android Jetpack | Livedata
  • Gradle快速入门学习
  • 【算法】模拟专题
  • riscv中断处理软硬件流程总结
  • C++算法题目分享:二叉搜索树相关的习题
  • 原子指标、派生指标和复合指标
  • nodejs 中间件
  • 【Jenkins】01 - Jenkins安装
  • C语言网络编程TCP通信实战:客户端↔服务器双向键盘互动全流程解析
  • [GWCTF 2019]枯燥的抽奖
  • Java线程的6种状态和JVM状态打印