基于Linux装载nvidia驱动,docker挂载本地显卡

这篇具有很好参考价值的文章主要介绍了基于Linux装载nvidia驱动,docker挂载本地显卡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面提到了在docker上使用了windows容器的方法,今天接着再来说docker。试想一下,平常在windows平台上我们可以直接安装显卡驱动,那么linux上行不行。事实上显卡驱动也是支持linux平台的,不过安装的方式却没有windwos上那么简单,接下来一步一步进行。

这次使用到:

系统:centos7.9
显卡:nvidia GTX-3070-Ti
1.在centos7上安装nvidia驱动

首先安装依赖

yum -y install gcc-c++

添加ELPepo源

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

安装nvidia驱动检测

sudo yum install nvidia-detect
nvidia-detect -v

去官网下载nvidia显卡驱动https://www.nvidia.cn/geforce/drivers/

我这里下载的是 NVIDIA-Linux-x86_64-525.89.run

不管是ubuntu也好还是centos也好,系统都是自带一个nouveau显卡驱动的,想要实现自定义驱动的话就必须先禁用本机驱动

lsmod | grep nouveau

修改/etc/modprobe.d/blacklist.conf 文件,以阻止 nouveau 模块的加载,如果系统没有该文件需要新建一个,这里使用root权限,普通用户无法再在/etc内生成.conf文件

su root
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf

重新建立initramfs image文件

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)
reboot  #重启
lsmod | grep nouveau

如果此时什么都没有打印出来就代表已经禁用了!

开始安装nvidia驱动

如果有桌面版的系统,先进入无界面模式

init 3  #进入无界面模式

安装

./NVIDIA-Linux-x86_64-525.89.run -no-opengl-files

'''
注意:
-no-opengl-files 代表只安装驱动文件,不安装opengl文件。这个参数很重要,如果不需要从显卡输出视频需要加次参数,否则会黑屏(例如:tesela无vga显示系列)
如果你想从显卡输出视频显示那么就不要加,我这里是使用集成显卡显示所以我加上参数
'''

下载安装cuda

https://developer.nvidia.com/cuda-10.0-download-archive

sh cuda_10.0.130_410.48_linux.run

安装完成,查看显卡驱动

nvidia-smi

可以看到显卡驱动安装成功了,下面试一下是否可用

显卡压力测试

yum install git -y

mkdir luwei && cd luwei/

wget http://wili.cc/blog/entries/gpu-burn/gpu_burn-0.9.tar.gz

tar -zxvf gpu_burn-0.9.tar.gz

export PATH=$PATH:/usr/local/cuda-10.0/bin

make

./gpu_burn 600  #压力测试600秒
nvidia-smi -l  #查看显卡运行状态

可以看到显卡正在快速工作,说明显卡驱动已经可以正常使用了

2.docker挂载本地显卡

显卡驱动安装好了,那么docker里面想使用本地显卡怎么办,现在介绍docker 19.03版本以及往后的版本,19.03之前的版本不可用此方法(因为那些版本已经老了…>_<)

docker 19.03上,不再需要nvidia-docker2 工具包,因为nvidia gpu已经能直接在docker 运行时支持。

#centos7
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
  
sudo yum install -y nvidia-container-toolkit

sudo systemctl restart docker

'''
脚本内容就是添加源路径,然后下载安装nvidia-container-toolkit
重启docker服务
'''
#ubuntu
lspci -vv | grep -i nvidia #确保检测到显卡

'''
创建脚本并写入
'''
touch nvidia-container-runtime-script.sh
vi nvidia-container-runtime-script.sh

'''
写入内容
'''
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update

'''
执行,完成NVIDIA Container Runtime安装
'''
sh nvidia-container-runtime-script.sh
apt-get install nvidia-container-runtime

'''
检测是否安装成功,如果返回路径,则安装成功
'''
which nvidia-container-runtime-hook

'''
重启docker
'''
sudo systemctl restart docker

ok,现在docker已经可以使用显卡驱动了,测试一下

docker run --help | grep -i gpus  #验证下--gpus选项是否有效

docker run -it --rm --gpus all ubuntu bash #运行一个ubuntu镜像生成容器,该容器可以使用所有的GPU卡。

#进入该容器后,输入:
nvidia-smi

如果看到与物理机一模一样的驱动信息,那么就代表docker可以使用本地显卡了

#官方给出的命令 自己试着玩

# Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
 
# Start a GPU enabled container on two GPUs
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
 
# Starting a GPU enabled container on specific GPUs
docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi
 
# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
docker run --gpus all,capabilities=utility nvidia/cuda:10.0-base nvidia-smi
3.docker中运行windows程序

在上次的文章中提到docker中运行windows程序,那么如何运行呢?有一个叫做wine的程序,这个程序是一种语言的转换层,也就是说它可以将windows程序翻译成linux程序,这样就可以将在linux中运行windows程序了

注意:如果你的docker没有桌面那么就只能运行无界面的windows程序,如果想运行有画面的windows程序需要先为docker安装GUI桌面,请先看我上一篇:https://luwei.blog.csdn.net/article/details/129870490

首先进入docker中的centos7容器

#CentOS 7 安装 64 位 Wine
'''安装 EPEL 软件源
Wine 3 最新稳定版包含在 EPEL 软件源中,安装 Wine 3 首先需要安装 EPEL 软件源
'''
sudo yum install epel-release

'''
CentOS 7 安装 64 位 Wine 3.0
安装 EPEL 软件源后,直接使用如下命令安装 64 位 Wine 3 最新稳定版
'''
sudo yum -y install wine

# CentOS 7 安装 32 位 Wine
'''
32 位 Wine 依赖于 EPEL 软件源中 64 位 Wine,所以首先按如上安装 EPEL 软件源
安装 CentOS/RHEL 7 32 位 Wine 软件源
'''
sudo yum -y install https://harbottle.gitlab.io/wine32/7/i386/wine32-release.rpm
 
'''
CentOS 7 安装 32 位 Wine
'''
sudo yum -y install wine.i686

'''
Wine 3 安装启动 Windows 程序
Wine 3 安装完成后,你可以右击 Windows exe 文件,然后选择 Wine Windows Program Loader 打开安装程序。
程序安装完成后,在桌面上有 Windows 程序的快捷方式,双击程序的快捷启动程序
'''

'''
Wine 3 卸载 Windows 程序
CentOS 7 安装 Wine 3 后,如需卸载应用程序,进入菜单“应用程序–>Wine”,点击菜单项“Wine Software Uninstaller”卸载 Windows 应用程序
'''

现在wine安装好了就,试一下是否可以执行windows程序

在此我准备了一个cs1.6的安装包,测试一下>_<

右键点击cs1.6.exe程序,选择Wine Windows Program Loader安装

安装中…

进入游戏中…

还是很清楚的,啊哈哈哈

稍微打了一局,没有什么迟钝感,还是可以玩玩的

总结

这次主要是介绍linux显卡的装载使用过程,也是自己的心得体会,毕竟当时自己实践的时候栽了不止一次,有人问docker中加载本地显卡有什么用,其实docker中如果运行的程序需要显卡资源的话那么就用得上了

另一个就是wine,在docker玩游戏的想法想想就好了,别指望使用它来玩游戏,这里就是试验一下,本来就是将语言翻译一遍才显示出来,如果运行大一点的游戏的话迟早是会挂掉的,运行windows程序还是可以的,没必要的话不要开docker的桌面,毕竟docker就是为无界面而生的,一个桌面不知道占用了多少资源

另外,如果在wine中运行的程序需要加载注册表时可以输入:

regedit 注册表文件 #(例如:Bentely_Licensing.reg)

ok,本次就到这里!文章来源地址https://www.toymoban.com/news/detail-792894.html

到了这里,关于基于Linux装载nvidia驱动,docker挂载本地显卡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nvidia显卡驱动历史版本!

    安装低版本的cuda可能需要将自己的显卡驱动降到对应低版本,但是Nvidia官网都是给出的最新版本的显卡驱动。 目前,有两种查找第版本的方法,第一种就是网上常见的在Nvidia官网下,按f12然后加上一段命令,但是该方法对我而言是没有用的,所以我在这里找到了第二种方法

    2024年02月11日
    浏览(70)
  • 服务器重装nvidia最新显卡驱动(官方驱动)

            有两种方法,一种是用Nvidia官方的驱动,手动安装。另一种是使用系统自带的\\\"软件和更新\\\"附加驱动更新,直接选择应用更新,就可以自动安装了,但是不稳定,要一个个试是否可以使用。 下面是使用官方驱动安装 1、准备工作 更新软件列表等 查看gpu型号 下载驱

    2024年02月05日
    浏览(45)
  • nvidia显卡驱动程序旧版本下载

    旧版本下载地址:https://www.nvidia.cn/Download/Find.aspx?lang=cn 直接进入后选择对应型号,然后下拉就有往期的版本,点击进入后选择下载 结束: Last updated posts inttf NVIDIA 340.108 / 390.154 Patcher for Kernel 6.2/6.1/6.0/5.19/5.18/5.17/5.16/5.15/5.14/5.13 [BASH Script] Fedora 37/36/35 NVIDIA Drivers Install Guide [5

    2024年02月11日
    浏览(97)
  • 怎么给电脑重装Nvidia显卡驱动?

    最近有用户跟小编反映,自己不小心把Nvidia显卡驱动整坏了,尝试了一些办法都没有效果,只能重装显卡驱动了。但是要如何重装Nvidia显卡驱动呢?具体操作如何?下面就来看看详细的教程。 1、下载新驱动 可以在Nvidia官网或者在本站下载对应的显卡驱动。 根据显卡和操作系

    2024年02月11日
    浏览(45)
  • Ubuntu 卸载重装 Nvidia 显卡驱动

    我使用 airsim 的时候,发现 UE4 没法使用显卡,导致非常卡顿 输入 有显卡型号等信息的输出,但是进程 process 里面没有显示 airsim 和其他软件占用显卡情况 因此,我选择了卸载重装 卸载 这里我输入第一句后就基本上卸载干净了,再输入第二句就显示找不到命令了 输入 nvidi

    2024年02月02日
    浏览(61)
  • 如何安装旧的nvidia显卡驱动程序

    转载于下面该链接等 (1 封私信 / 80 条消息) 如何下载399.24版本Nvidia显卡驱动? - 知乎 (zhihu.com) 1 .打开nvidia官网nvidia驱动; 2. 按F12点击控制台或console - 右键 - 清除控制台 - 粘贴以下代码 - 回车 - 关闭控制台小窗口 3.选择对应的产品系统、显卡型号和系统版本然后点击搜索 (7

    2024年02月01日
    浏览(51)
  • Ubuntu之NVIDIA GeForce显卡驱动安装

      NVIDIA是一家人工智能计算公司 [1] 。公司创立于1993年,总部位于美国加利福尼亚州圣克拉拉市。美籍华人Jensen Huang(黄仁勋)是创始人兼CEO。1999年,NVIDIA定义了GPU,这极大地推动了PC游戏市场的发展,重新定义了现代计算机图形技术,并彻底改变了并行计算。 2017年6月,

    2024年02月05日
    浏览(48)
  • Ubuntu22.04 安装NVIDIA显卡驱动

    最近在想给自己电脑换成Linux系统的事情,但是过程没想到异常艰难,除了要安装一系列日常用软件和学习环境搭建外,还遇到了安装显卡驱动这个世纪难题[哭][哭],四处搜索度娘,最终还是让我暂时解决(安装成功)了这个难题,[再次感谢互联网各位大佬的扶持],所以,

    2024年02月08日
    浏览(74)
  • ubuntu22.04安装Nvidia显卡驱动

    Ubuntu 22.04安装NVIDIA显卡驱动的一般步骤: 注意:在执行这些步骤之前,请确保系统已连接到互联网,以便下载所需的软件包。 1. 检查NVIDIA显卡型号:打开终端,运行以下命令来确定NVIDIA显卡型号:    这将显示NVIDIA显卡型号,例如GeForce GTX 1050 Ti。 2. 更新系统: 在终端中,

    2024年01月16日
    浏览(69)
  • Ubuntu20.04 安装 NVIDIA 显卡驱动

    说明:本人使用的环境是Ubuntu20.04, GTX1060 1. 安装驱动前一定要更新软件列表和安装必要软件、依赖 sudo apt-get update #更新软件列表 sudo apt-get install g++ sudo apt-get install gcc sudo apt-get install make 2. 查询硬件(显卡)信息 lspci | grep -Ei \\\'(vga|display)\\\' 或者 lspci | grep -i nvidia 或者 lspci | grep -

    2024年01月23日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包