更新系统驱动及docker内驱动、cuda、cudnn

本文详细介绍了在Docker环境中配置GPU支持的步骤,包括拉取官方镜像、安装显卡驱动、同步Host主机驱动、重启及测试等关键操作,确保GPU在Docker容器内的正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://tensorflow.google.cn/install/source#gpu_support_2

更新docker内cuda、cudnn正确方式:

一、拉取官方镜像

docker拉取官方镜像(默认没有显卡驱动):

  • nvidia-docker pull nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

可选择镜像:https://hub.docker.com/layers/nvidia/cuda/9.0-cudnn7-devel-ubuntu16.04/images/sha256-5b4a2ecdf7e7594e8f6fc41c0ed0e6a716bfb6ddc0e4852a3dde58eae4692d73

二、安装docker镜像显卡驱动

apt-get update
apt-get install software-properties-common python-software-properties
add-apt-repository ppa:graphics-drivers/ppa
apt-get install ubuntu-drivers-common
apt update
ubuntu-drivers devices

apt install nvidia-384 
或 ubuntu-drivers autoinstall
或手动.run安装 chomx a+x 驱动 && ./驱动

ctrl+p+q退出
nvidia-docker commit hash_value img_name #保存镜像

推荐./run安装,以保证host和docker镜像内部驱动版本一致

驱动下载网站:https://www.nvidia.com/Download/driverResults.aspx/143548/en-us

.run安装:https://blog.csdn.net/u014682691/article/details/80605201

参考资料:https://onlycaptain.github.io/2018/08/18/Ubuntu%E4%B8%8BNvidia%E9%A9%B1%E5%8A%A8%E5%AE%89%E8%A3%85/

三、安装Host主机显卡驱动

同步骤二

四、重启主机

五、启动docker

dockerd& #docker守护进程
nvidia-docker-plugin& #nvidia-docker守护进程
service docker start
service nvidia-docker start

六、测试

测试Host主机:

nvidia-smi

更新驱动版本后需更新volume:
nvidia-docker volume create nvidia_driver_390.46
测试镜像:

docker运行:

nvidia-docker run -it  img_name /bin/bash

进入docker后:

nvidia-smi
nvcc --version

其他可能遇到的问题

挂载Nvidia驱动:

modprobe nvidia

查看驱动版本:

cat /proc/driver/nvidia/version

dpkg error问题处理:
https://www.cnblogs.com/ilym/p/8387561.html
https://blog.csdn.net/qingfengxiaosong/article/details/87889995

Ubuntu中Failed to initialize NVML: Driver/library version mismatch问题的解决:
https://blog.csdn.net/qq_40200387/article/details/90341107

### 如何在Dockerfile中正确配置以安装NVIDIA CUDACuDNN 为了确保能够在 Docker 容器内使用 GPU 加速功能,需要按照特定的方式设置 `Dockerfile` 来集成 NVIDIACUDACuDNN 库。 #### 使用官方镜像简化构建过程 最简单的方法是从 NVIDIA 提供的预装了 CUDA 工具包的基础镜像出发: ```dockerfile FROM nvidia/cuda:11.7.0-cudnn8-devel-ubuntu20.04 ``` 这条指令选择了带有 CUDNN 版本 8 开发环境以及 Ubuntu 20.04 LTS 操作系统CUDA 11.7.0 镜像作为基础层。通过这种方式可以省去手动编译或安装这些依赖项的工作量[^1]。 #### 手动安装CUDACuDNN(如果需要自定义) 对于某些特殊情况可能需要更灵活地控制组件版本,则可以在标准 Linux 发行版的基础上自行安装所需软件包: 1. **更新源列表并添加GPG密钥** ```bash RUN curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf8932f.pub | gpg --dearmor -o /usr/share/keyrings/nvidia.gpg \ && echo "deb [signed-by=/usr/share/keyrings/nvidia.gpg] http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 /" > /etc/apt/sources.list.d/cuda.list ``` 2. **安装指定版本的CUDA工具集** ```bash ENV CUDA_VERSION=11.7.0 RUN apt-get update && apt-get install -y cuda-toolkit-$CUDA_VERSION ``` 3. **安装对应版本的cuDNN库** 假设要安装 cuDNN v8.x 对应于上述选定的 CUDA 版本: ```bash ENV CUDNN_VERSION=8.5.0.96 RUN apt-get install -y libcudnn8=$CUDNN_VERSION-1+cuda${CUDA_VERSION//./} \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* ``` 以上命令序列展示了如何基于 Debian 类系统来获取最新的安全补丁,并且精确指定了想要使用的 CUDA 及其配套的 cuDNN 版本号[^2]。 #### 测试安装成功与否 完成镜像创建之后,可以通过运行如下命令验证是否能够正常访问 GPU 设备信息: ```bash nvidia-smi ``` 这一步骤有助于确认容器内部已经正确加载了 NVIDIA 显卡驱动程序并且可以识别物理硬件的存在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值