登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
完整教程:Ubuntu 22.04 部署 CUDA 12.5 + NVIDIA 驱动 ...
完整教程:Ubuntu 22.04 部署 CUDA 12.5 + NVIDIA 驱动 555 + Docker 容器化 GPU 环境
[ 复制链接 ]
怀陶宁
2025-12-25 00:35:07
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
教程概述
目标
在 Ubuntu 22.04 系统中,完成「NVIDIA 555 驱动(原生支持 CUDA 12.5)+ CUDA 12.5 Toolkit + NVIDIA Container Toolkit」全环境部署,实现宿主机 / 容器双端 CUDA 12.5 开发 / 运行能力,解决版本冲突、依赖断裂、Docker 识别 GPU 等核心问题。
环境基础
系统:Ubuntu 22.04 LTS (amd64)
GPU:NVIDIA GeForce RTX 2080 Ti(适配 555 驱动,其他 GPU 通用)
最终目标:宿主机 nvcc -V 显示 12.5,Docker 容器运行 nvidia/cuda:12.5.0-devel-ubuntu22.04 并正常调用 GPU + nvcc
一、前置准备:清理旧环境(避免版本冲突)
1.1 卸载旧版本 NVIDIA 驱动 / CUDA
bash 运行
# 彻底卸载所有 NVIDIA 相关包
sudo apt purge -y nvidia-* libnvidia-* cuda-*
# 清理残留依赖
sudo apt autoremove -y --purge
# 删除 DKMS 残留
sudo rm -rf /usr/src/nvidia-*
sudo dkms remove --all nvidia
# 清空 CUDA 残留目录
sudo rm -rf /usr/local/cuda*
复制代码
1.2 备份关键配置(可选)
bash 运行
# 备份 apt 源和 Docker 配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null
复制代码
1.3 重启系统(清空内核模块残留)
bash 运行
sudo reboot
复制代码
二、步骤 1:安装 NVIDIA 555 驱动(适配 CUDA 12.5)
555 是 NVIDIA 官方适配 CUDA 12.5 的稳定版,避开 590 版本的依赖冲突问题。
2.1 添加 NVIDIA 官方源
bash 运行
# 安装密钥和源
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
# 更新源
sudo apt update
复制代码
2.2 安装 555 驱动(仅驱动,不装 CUDA 元包)
bash 运行
# 安装 555 驱动(跳过推荐依赖,避免拉取 590 版本)
sudo apt install -y nvidia-driver-555 --no-install-recommends
# 重启系统使驱动生效
sudo reboot
复制代码
2.3 验证驱动安装
bash 运行
nvidia-smi
复制代码
预期输出
: plaintext
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 2080 Ti Off | 00000000:01:00.0 Off | N/A |
| 34% 46C P8 25W / 260W | 1MiB / 22528MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+
复制代码
核心验证点:Driver Version: 555.x、CUDA Version: 12.5。
三、步骤 2:离线安装 CUDA 12.5 Toolkit(绕开 APT 依赖冲突)
通过 NVIDIA 官方离线 .run 包安装,避免 APT 源依赖混乱(核心解决 590 版本冲突问题)。
3.1 下载 CUDA 12.5 离线包
bash 运行
# 创建临时目录
mkdir -p ~/cuda125 && cd ~/cuda125
# 下载最新 CUDA 12.5 离线包(适配 Ubuntu 22.04)
wget https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda_12.5.1_555.42.06_linux.run
# 赋予执行权限
chmod +x cuda_12.5.1_555.42.06_linux.run
复制代码
3.2 静默安装 CUDA 12.5 Toolkit(仅装工具包,不装驱动)
bash 运行
# 关键参数:--toolkit 仅装工具包,--driver false 跳过驱动(已手动装 555)
sudo ./cuda_12.5.1_555.42.06_linux.run --silent --toolkit --driver false --toolkitpath=/usr/local/cuda-12.5
复制代码
3.3 配置 CUDA 环境变量(永久生效)
bash 运行
# 写入当前用户环境变量
echo -e "\n# CUDA 12.5 环境变量" >> ~/.bashrc
echo "export CUDA_HOME=/usr/local/cuda-12.5" >> ~/.bashrc
echo "export PATH=\$CUDA_HOME/bin:\$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=\$CUDA_HOME/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc
# 加载环境变量
source ~/.bashrc
# (可选)配置系统级环境变量(所有用户生效)
sudo echo -e "\n# CUDA 12.5 系统环境变量" >> /etc/profile
sudo echo "export CUDA_HOME=/usr/local/cuda-12.5" >> /etc/profile
sudo echo "export PATH=\$CUDA_HOME/bin:\$PATH" >> /etc/profile
sudo echo "export LD_LIBRARY_PATH=\$CUDA_HOME/lib64:\$LD_LIBRARY_PATH" >> /etc/profile
sudo source /etc/profile
复制代码
3.4 验证 CUDA Toolkit 安装
bash 运行
nvcc -V
复制代码
预期输出
: plaintext
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_02:18:23_PDT_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
复制代码
核心验证点:release 12.5。
四、步骤 3:配置 NVIDIA Container Toolkit(Docker 调用 GPU)
4.1 安装 nvidia-docker2(核心组件,解决 Docker 识别 GPU 问题)
bash 运行
# 添加 NVIDIA Container Toolkit 源
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
# 更新源并安装 nvidia-docker2
sudo apt update
sudo apt install -y nvidia-docker2
复制代码
4.2 配置 Docker 守护进程(加载 NVIDIA 运行时)
bash 运行
# 覆盖/生成正确的 daemon.json 配置
sudo echo '{
"ipv6": false,
"registry-mirrors": ["http://docker.882286.xyz"],
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}' > /etc/docker/daemon.json
# 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
4.3 验证 Docker 运行时配置
bash 运行
sudo docker info | grep -i runtime
复制代码
预期输出
: plaintext
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
复制代码
核心验证点:nvidia 出现在 Runtimes 列表中。
五、步骤 4:验证 Docker 容器运行 CUDA 12.5
5.1 关键说明:CUDA 镜像选择
镜像标签包含组件是否有 nvcc用途12.5.0-base-ubuntu22.04仅 CUDA Runtime❌ 无运行已编译的 CUDA 程序12.5.0-devel-ubuntu22.04Runtime + Toolkit(含 nvcc)✅ 有开发 / 编译 CUDA 程序
5.2 运行 CUDA 12.5 开发镜像(验证 nvcc + GPU)
bash 运行
# 运行 devel 镜像,验证 nvcc 和 GPU 识别
sudo docker run --rm --gpus all nvidia/cuda:12.5.0-devel-ubuntu22.04 bash -c "nvcc -V && echo '---' && nvidia-smi"
复制代码
预期输出
: plaintext
nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2024 NVIDIA CorporationBuilt on Wed_Apr_17_19:19:55_PDT_2024Cuda compilation tools, release 12.5, V12.5.40Build cuda_12.5.r12.5/compiler.34080961_0---+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.06 Driver Version: 555.42.06 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 2080 Ti Off | 00000000:01:00.0 Off | N/A |
| 34% 46C P8 25W / 260W | 1MiB / 22528MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+
复制代码
六、常见问题与解决方案
问题 1:Docker 报错 could not select device driver "" with capabilities: [[gpu]]
原因:缺少 nvidia-docker2 组件,Docker 无法识别 GPU 驱动。
解决:重新安装 nvidia-docker2(参考步骤 4.1),重启 Docker。
问题 2:容器内报错 exec: "nvcc": executable file not found in $PATH
原因:使用了 base 镜像(无 nvcc),仅 devel 镜像包含编译器。
解决:改用 nvidia/cuda:12.5.0-devel-ubuntu22.04 镜像。
问题 3:安装驱动时出现 590 版本依赖冲突
原因:APT 源自动拉取 590 版本,与 555 冲突。
解决:清理 590 缓存(sudo rm -f /var/cache/apt/archives/*590*.deb),通过 apt-preferences 锁定 555 版本。
问题 4:CUDA 安装时报 --no-driver 未知参数
原因:CUDA 12.x 离线包参数调整,--no-driver 改为 --driver false。
解决:使用 --silent --toolkit --driver false 参数(参考步骤 3.2)。
七、总结
本教程完成了从「环境清理 → 驱动升级 → CUDA 安装 → Docker 配置 → 容器验证」的全流程,核心解决了:
NVIDIA 590 版本依赖冲突问题(选择 555 稳定版);
APT 源依赖混乱问题(离线安装 CUDA 12.5);
Docker 无法识别 GPU 驱动问题(安装 nvidia-docker2);
CUDA 镜像无 nvcc 问题(选择 devel 镜像)。
最终实现:
宿主机:555 驱动 + CUDA 12.5 Toolkit,支持 CUDA 程序编译;
Docker 容器:无缝调用 GPU,运行 CUDA 12.5 开发 / 运行环境。
该环境可直接用于 CUDA 程序开发、深度学习训练、容器化 GPU 部署等场景。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
完整
NVIDIA
GPU
容器
Docker
相关帖子
攻防世界逆向题 CatFly 完整解题思路与过程
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
深度实战:在 GPU 环境下一键部署 Jimeng 中文文生图交互系统
深度实战:在 GPU 环境下一键部署 Jimeng 中文文生图交互系统
Clawedbot 完整对接飞书教程 手把手搭建你的专属 AI 助手
vivo GPU容器与 AI 训练平台探索与实践
从0到1打造Skill:完整实战指南
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
攻防世界逆向题 CatFly 完整解题思路与过程
3
14
蝙俚
2026-01-25
安全
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
2
984
杼氖
2026-01-26
安全
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
2
345
宛蛲
2026-01-26
安全
Claude Code Python 技能完整目录 - 2,847个顶级开发工具
7
523
阎怀慕
2026-01-26
安全
深度实战:在 GPU 环境下一键部署 Jimeng 中文文生图交互系统
0
6
袁勤
2026-01-27
安全
深度实战:在 GPU 环境下一键部署 Jimeng 中文文生图交互系统
0
8
卢莹洁
2026-01-27
业界
Clawedbot 完整对接飞书教程 手把手搭建你的专属 AI 助手
0
5
刃减胸
2026-01-28
安全
vivo GPU容器与 AI 训练平台探索与实践
0
769
均浇
2026-01-29
业界
从0到1打造Skill:完整实战指南
0
955
夔新梅
2026-01-29
回复
(13)
赖琳芳
2026-1-10 13:25:47
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
施婉秀
2026-1-12 00:24:21
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
分享、互助 让互联网精神温暖你我
浅皮懔
2026-1-15 05:37:07
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
酝垓
2026-1-18 00:16:19
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
事值
2026-1-18 12:38:41
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
呼延含玉
2026-1-20 16:51:18
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
饨篦
2026-1-21 12:02:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
驼娑
2026-1-23 15:39:25
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
廖雯华
2026-1-25 08:45:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
颜清华
7 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
懂技术并乐意极积无私分享的人越来越少。珍惜
吁寂
7 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
梢疠
前天 03:40
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
栓汨渎
昨天 17:07
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
怀陶宁
昨天 17:07
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9939
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9921
10
俞瑛瑶
9998
查看更多
今日好文热榜
727
细节全公开!我是如何用 AI 一天上线一个网
691
MCP官方Go SDK尝鲜
264
基于允许非法状态的贪心策略
766
[大模型实战 02] 图形化的大模型交互: Open
344
数据一致性与容灾——RTO/RPO指标、备份演
971
Modbus 协议 学习一则
325
洛谷 P3503 [POI 2010] KLO-Blocks 题解
4
AI驱动的业务开发新范式:将Skills引入工程
422
DTS按业务场景批量迁移阿里云MySQL库实战(
137
从零学习Kafka:配置参数
507
高性价比小程序商城 SaaS 平台推荐!赋能中
510
OpenClaw架构解析:AI工程师的实战学习范本
640
AI Agent 框架探秘:拆解 OpenHands(5)--
876
一个昏暗的编程教室,电脑屏幕前坐着一位程
535
C++算法算法训练第十二天
914
语言开发随笔2
881
Ivanti EPMM RCE CVE-2026-1340/1281完整分
744
城市智能体:宜昌点军区算力供应链平台的区
252
微软发布Maia200,它也开始与英伟达谷歌掰
923
微软发布Maia200,它也开始与英伟达谷歌掰