news 2026/6/26 14:04:52

Ubuntu安装NVIDIA Docker全指南:最稳避坑版

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu安装NVIDIA Docker全指南:最稳避坑版

Markdown

【2025最新】Ubuntu安装NVIDIA Docker全指南:最稳避坑版

摘要:在Ubuntu上配置NVIDIA Docker环境时,经常遇到“Docker服务找不到”、“GPG密钥冲突”或“下载速度慢”的问题。本文总结了一套经过实战验证的“最简易”安装方案:抛弃Snap版本,使用系统源安装Docker,配合官方最新的NVIDIA Container Toolkit,三步实现GPU容器化。


🛑 前言:为什么写这篇教程?

很多教程推荐使用docker-ce官方源或者 Snap 安装 Docker,但在国内网络环境下,往往会遇到:

  1. GPG 密钥报错:源冲突导致apt update失败。
  2. Snap 权限问题:Snap 安装的 Docker 运行在沙盒中,无法读取 NVIDIA 的配置文件,导致报错Unknown runtime specified nvidia
  3. 服务丢失:运行systemctl restart docker提示Unit docker.service not found

本文将演示一套**“原教旨主义”**的安装方法,核心逻辑如下:

  • Docker:直接使用 Ubuntu 系统源 (docker.io),最稳,不折腾 GPG。
  • NVIDIA:使用官方最新 Toolkit (nvidia-container-toolkit),性能最好。

🛠️ 第一步:环境清理与 Docker 安装

为了防止之前的错误配置干扰(特别是如果你之前尝试安装失败过),我们需要先清理环境,然后安装标准版 Docker。

# 1. 清理可能存在的冲突源 (这是解决 GPG 报错的关键)sudorm-f /etc/apt/sources.list.d/docker*.list# 2. 更新源并安装标准版 Docker# 直接用系统自带的包,速度快且稳sudoapt-getupdatesudoapt-getinstall-y docker.io# 3. 启动服务并设置开机自启sudosystemctl startdockersudosystemctlenabledocker检查点:执行完上述命令后,运行docker-v 应该能看到版本号,且没有报错。 📦 第二步:配置 NVIDIA 官方源 我们需要安装 nvidia-container-toolkit 来让 Docker 能够调用显卡。这是官方推荐的新工具,取代了旧的 nvidia-docker2。 请直接复制以下整段命令在终端运行(自动识别系统版本并添加 GPG Key): Bashcurl-fsSL[https://nvidia.github.io/libnvidia-container/gpgkey](https://nvidia.github.io/libnvidia-container/gpgkey)|sudogpg --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](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://#'|\sudotee/etc/apt/sources.list.d/nvidia-container-toolkit.list ⚙️ 第三步:安装工具包并配置 Runtime 安装工具包并使用 nvidia-ctk 命令自动修改 Docker 的配置文件(daemon.json),这比手动编辑文件更安全。 Bash# 1. 更新源并安装工具包sudoapt-getupdatesudoapt-getinstall-y nvidia-container-toolkit# 2. 自动配置 Docker 运行时 (核心步骤)# 这步操作会修改 /etc/docker/daemon.jsonsudonvidia-ctk runtime configure --runtime=docker# 3. 重启 Docker 服务使配置生效sudosystemctl restartdocker✅ 第四步:最终验证 安装完成后,运行一个简单的 CUDA 容器来验证 GPU 是否挂载成功。 Bashsudodockerrun --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi 成功的标志: 如果你在终端中看到了熟悉的 显卡信息表格(类似于宿主机运行 nvidia-smi 的效果),恭喜你,安装大功告成!🎉 💡 附录:两个“提升幸福感”的优化1. 免 Sudo 运行 Docker 默认情况下运行 Docker 需要 sudo,非常麻烦。执行以下命令将当前用户加入 Docker 组: Bashsudousermod-aGdocker$USER注意:执行完后,需要注销并重新登录服务器(或重启 SSH 连接),更改才会生效。之后你就可以直接运行dockerrun... 了。2. 显卡调用参数详解 调用所有显卡(最常用): Bashdockerrun --gpus all... 指定特定显卡(例如只用第0号和第2号卡): Bashdockerrun --gpus'"device=0,2"'... 📝 总结 这套方案最大的优势在于避开了 Snap 版本 Docker 的坑以及第三方源 GPG 密钥管理的复杂性。通过 Ubuntu 原生源 + NVIDIA 官方工具包的组合,能够在3分钟内搭建起稳定的深度学习容器环境。 如果有任何问题,欢迎在评论区交流!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 12:54:35

当 FPGA 遇上 Python:Glasgow 如何玩转数字接口(开源硬件 软件)

在嵌入式开发、接口调试、硬件逆向或数字存档工作中,经常会遇到各种异构、老旧或自定义数字接口协议。为了让工程师更轻松地接入、探测、控制和抓取这些接口的数据,Glasgow Embedded 社区推出了一个开源工具——Glasgow Interface Explorer。什么是 Glas…

作者头像 李华
网站建设 2026/6/22 12:57:09

**AI漫剧软件2025推荐,解锁沉浸式二次元内容创作新体验

AI漫剧软件2025推荐,解锁沉浸式二次元内容创作新体验据《2025年中国数字内容产业白皮书》显示,2025年AI生成视频内容的市场规模预计突破800亿元,其中二次元风格的AI漫剧因其独特的视觉表现力和高效的产能,成为增长最快的细分赛道之…

作者头像 李华
网站建设 2026/6/26 1:43:46

CSS3笔记

1. CSS 引入方式 行内式&#xff1a;直接写在标签 style"" 内&#xff08;优先级高&#xff0c;不推荐大量使用&#xff09;嵌入式&#xff1a;在 HTML 的 <head> 里写 <style>...</style>外部式&#xff1a;通过 <link rel"stylesheet&q…

作者头像 李华
网站建设 2026/6/25 16:27:02

模型炼金术:机器学习全流程中的超参数调优与评估陷阱

模型炼金术&#xff1a;机器学习全流程中的超参数调优与评估陷阱 1. 超参数调优的本质与价值 在机器学习项目中&#xff0c;超参数调优往往被视为"模型炼金术"——它既需要科学方法论指导&#xff0c;又依赖实践经验的微妙平衡。与模型参数不同&#xff0c;超参数是…

作者头像 李华
网站建设 2026/6/22 14:16:34

Chandra OCR多格式输出详解:同页同步生成Markdown/HTML/JSON三版本

Chandra OCR多格式输出详解&#xff1a;同页同步生成Markdown/HTML/JSON三版本 1. 为什么你需要一个“懂排版”的OCR 你有没有遇到过这样的场景&#xff1a; 扫描一份带表格的财务报告&#xff0c;用传统OCR导出后&#xff0c;表格全乱成一坨文字&#xff0c;还得手动一行行…

作者头像 李华
网站建设 2026/6/25 7:54:48

编程新王 Kimi K2.5,审美简直逆天!

在这个大模型卷翻天的时代&#xff0c;写代码的技术门槛已经无限趋近于零。只要会打字&#xff0c;配合现在的 AI 编程工具&#xff0c;大家都能在几分钟内开发一个功能完整的应用。不过&#xff0c;相对应的问题也随之而来&#xff0c;我们发现 AI 生成的网页&#xff0c;几乎…

作者头像 李华