惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
美团技术团队
量子位
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
小众软件
小众软件
博客园 - 司徒正美
罗磊的独立博客
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
博客园 - 聂微东

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
Docker 使用 NVIDIA GPU 驱动错误解决
Yiwei Zhang · 2025-04-08 · via 又见苍岚

docker 安装后默认无法使用 GPU,本文记录解决方案。

错误描述 1

在使用Docker时,尝试配置NVIDIA GPU驱动支持时遇到了以下错误:

1
Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]

安装过程与解决方案

步骤1:加入NVIDIA Docker包仓库

首先,我们需要将NVIDIA Docker的包仓库添加到系统的APT源列表中。以下是具体的命令步骤:

  1. 添加NVIDIA Docker的GPG密钥:

    1
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
  2. 根据当前系统的发行版和版本号,添加NVIDIA Docker的APT源:

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

    注意‌:如果上述命令不生效,可以尝试使用备份命令一次性完成密钥添加和源添加:

    1
    2
    3
    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
    • 再次更新(2025.08.14 可用)
    1
    2
    3
    4
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
    && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

步骤2:安装 nvidia-container-toolkit 并更新Docker配置

  1. 更新APT包列表:

    1
    sudo apt-get update
  2. 安装nvidia-container-toolkit,这是nvidia-docker2的依赖包:

    1
    sudo apt-get install -y nvidia-container-toolkit
  3. 重启Docker服务以应用新的配置:

    1
    sudo systemctl restart docker

错误描述 2

在安装了 nvidia-container-toolkit 后启动 nvidia docker 还可能报错:

1
Docker Error - Unknown or Invalid Runtime Name: Nvidia

修改文件 /etc/docker/daemon.json :

1
2
3
4
5
6
7
8
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}

之后更新 docker 配置并重启 docker:

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

参考资料

文章链接:
https://www.zywvvd.com/notes/tools/docker/docker-nvidia-gpu-error/docker-nvidia-gpu-error/