基于Linux装载nvidia驱动,docker挂载本地显卡 | 您所在的位置:网站首页 › 简述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之前的版本不可用此方法(因为那些版本已经老了…>__ |
CopyRight 2018-2019 实验室设备网 版权所有 |