首页 > 其他分享 >如何在不破坏docker容器的情况下更新nvidia驱动

如何在不破坏docker容器的情况下更新nvidia驱动

时间:2023-12-05 16:57:42浏览次数:41  
标签:容器 run get sudo nvidia 驱动 docker modprobe

  参考资料:

  [驱动-CUDA对照表]

  [驱动下载页]

  [重装驱动的一个教程]

  [整体的一个方法指导]    

  由于项目结题,需要在一个较旧的8卡V100服务器上运行机器学习代码,但是这个服务器上面的docker驱动却旧到爆炸,请看VCR:

  2023年了居然显卡驱动还停留在418,这下不得不升级了。请示完导师就加油干吧。首先我把参考资料中的那个总方法论给截图放出来,然后一步一步解析:

  1. 第一步,根据自己的显卡型号,下载最新的驱动

  下载完成后是一个以run为后缀的文件

  2. 第二步,卸载之前的nvidia驱动

  如果你系统里旧的nvidia驱动是apt-get安装的话,那么你需要用下面的命令来卸载原有的nvidia软件:

sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*

  nvidia-uninstall很可能没有,我猜只有通过run文件装的驱动才会有?

  3. 第三步,unload服务器正在运行的nvidia模块

  命令在前面已经给出了:

# Unload Nvidia kernel modules
modprobe -r nvidia_drm
modprobe -r nvidia_uvm
modprobe -r nvidia_modeset
modprobe -r nvidia

  值得注意的是你很有可能碰到杀不掉的东西,在你check过之前旧显卡已经完全卸载后还是无法modprobe,你可以用这个问题里面的解决方案

  4. 第三步,运行命令

sudo ./NVIDIA-Linux-x86_64-535.129.03.run -no-x-check -no-nouveau-check -no-opengl-files

  tips:这里我用的是一个没有图形化页面的系统(仅ssh),所以X-check和nouveau什么的我都没有去管,如果有相关问题的话可以去看其他文章怎么解决的。如果提示仍有module已经加载,那就reboot了。

  对于安装过程中交互式提出的几个问题,答案我copy了一份:

安装过程中的选项:(这是copy别人的,自己的没记住,我也是尝试选择了好多遍才安装好)

The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  选择 Yes  继续
————————————————
版权声明:本文为CSDN博主「xunan003」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xunan003/article/details/81665835

  5. 第五步、安装结束,重启docker

  modprobe nvidia挂载nvidia模块,然后运行nvidia-smi验证是否安装成功就好。  

标签:容器,run,get,sudo,nvidia,驱动,docker,modprobe
From: https://www.cnblogs.com/chester-cs/p/17877463.html

相关文章

  • docker基础命令
    From:https://docker-curriculum.com/ 一、docker常见的命令从远程Pullimage:$dockerpullbusybox Listimages:$dockerimages DockerRun:# Whenyoucallrun,theDockerclientfindstheimage(busyboxinthiscase),loadsupthecontainerand......
  • IntelliJ IDEA 2023.2新特性详解第三弹!Docker、Kubernetes等支持!
    9Docker在Docker镜像层内预览文件现在可以在Services(服务)工具窗口中轻松访问和预览Docker镜像层的内容。从列表选择镜像,选择Showlayers(显示层),然后点击Analyzeimageformoreinformation(分析镜像以获得更多信息)。这将打开层中存储的文件列表,你可以右键点击文件,然后......
  • docker仓库(hub、registry和harbor)
    1、docker仓库介绍Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是DockerHub公共仓库2、docker公有仓库和私有仓库的区别公有仓库:Docker官方提供一个公共仓库,称为Do......
  • Run sql server in docker
    PulldockerimagePullthelatestimageofSQLServer2022dockerpullmcr.microsoft.com/mssql/server:2022-latestRunincontainerdockerrun-e"ACCEPT_EULA=Y"-e"MSSQL_SA_PASSWORD=<password>"-p11433:1433--name<sqlser......
  • Docker CLI docker restart 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中......
  • Docker CLI docker rename 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中......
  • Docker部署lsky-pro
    一、简介LskyPro是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。二、搭建lsky-pro绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索halcyonazure/lsky-pro-docker​,选择latest......
  • stl容器
    3.5stack容器3.5.1stack基本概念 概念:stack是一种先进后出(FirstInLastOut,FILO)的数据结构,它只有一个出口   栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为---入栈push栈中弹出数据称为---出栈pop 生活中的栈:   ......
  • docker 安装
    1.卸载历史版本。yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-selinux\docker-engine-selinux\docker-engine\docker-ce2.安装所需软件包yuminstall-yyum-utils或......
  • centos7.9以docker形式安装redmine,并配置
    一、准备准备服务器联网,并且安装好docker二、安装redmine执行命令拉取docker镜像dockerpullredmine:latestRunRedminewithSQLite3dockerrun-d--nameredmine-p3000:3000redmine:latest启动后访问:http://localhost:3000/,默认账号/密码:admin/admin  进入后......