Ubuntu16.04,GTX1080,装nvidia驱动,装nvidia-docker
本机信息
系统:ubuntu16.04 LTS
显卡:集显 + 独显(GTX1080)
驱动下载
nvidia官网:http://www.nvidia.cn/page/home.html
根据自己显卡型号进行下载。我的:NVIDIA-Linux-x86_64-418.43.run,将下载好的run放到home底下。
驱动安装过程
参考:
https://blog.csdn.net/xunan003/article/details/81665835
https://blog.csdn.net/ghw15221836342/article/details/79571559
禁用nouveau
sudo vim /etc/modprobe.d/blacklist.conf
#在最后加上以下几行
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
#关闭此文件后,更新系统
sudo update-initramfs -u
#重启电脑后执行以下命令
lsmod | grep nouveau #没有输出则成功禁用
切到命令行(ctrl-alt-f1)
#关闭图形界面
sudo service lightdm stop
# 卸载原有驱动
sudo apt-get remove --purge nvidia*
#或者
sudo chmod +x *.run
sudo ./NVIDIAxxxxxx.run --uninstall #曾经用过的nvidia驱动安装包的名字
#给run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-418.43.run
#安装
sudo ./NVIDIA-Linux-x86_64-418.43.run -no-x-check -no-nouveau-check -no-opengl-files
#挂载驱动
modprobe nvidia
#检查
nvidia-smi
#重启图形界面
sudo service lightdm start
出现上面的结果即成功。
一定要有-no-opengl-files,不然会循环登录。安装过程中,如果出现kernel无法安装的问题,很可能是驱动不够新,重新下好最新的驱动一般就没问题了。
安装docker及nvidia-docker
安装docker
参考:https://blog.csdn.net/weixin_39610043/article/details/85334877
卸载旧docker的时候,看好自己曾经装的到底是什么,比如docker,docker-ce等等。
照着参考博客装的,选择的国内源。
我主要是用invidia-docker,而docker必需先装好才能装nvidia-docker。
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl sortware-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce
启动测试docker
sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world
安装nvidia-docker
参考
https://blog.csdn.net/junxiacaocao/article/details/79471770
https://blog.csdn.net/weixin_39610043/article/details/85334877
#添加源
curl -s lL https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-gt update
#守护程序配置
sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd
启动测试nvidia-docker
sudo service nvidia-docker start
sudo nvidia-docker-plugin
nvidia-docker run --rm nvidia/cuda nvidia-smi
与主机运行nvidia-smi得到相同结果。
心得笔记
本机上有centos的镜像,记录一下如何使用。
镜像名字:centos7.tar
#导入镜像
nvidia-docker load < centos7.tar
#查看导入的镜像
nvidia-docker images
#给导入的镜像加tag更好识别
docker tag IMAGE_ID REPOSITORY:TAG
#运行已导入的镜像
nvidia-docker -run -ti -v file1:file2 REPOSITORY:TAG /bin/bash
file1是主机文件夾,file2是docker中的文件夹地址。
#意外关掉了centos的终端,此时容器依然在运行
nvidia-docker attach 容器ID(前三位即可)
#停止该容器,再重新运行
nvidia-docker stop 容器ID
nvidia-docker start 容器ID
nvidia-docker attach 容器ID
导出容器到文件:
nvidia-docker export -o 文件名字.tar 容器ID
#centos7安装sudo:
yum install sudo
#此时是root
passwd #修改密码,两次输入
#加用户,加权限:
adduser wen
passwd wen
chmod -v u+w /etc/sudoers
vim /etc/sudoers
========================================
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
wen ALL=(ALL) ALL
#保存,退出
chmod -v u-w /etc/sudoers
#切换用户
su wen
参考:
https://www.cnblogs.com/makefile/p/docker-usage.html
https://blog.csdn.net/u012465655/article/details/80485263