一、宿主机安装nvidia驱动

打开终端,先删除旧的驱动:

sudo apt-get purge nvidia*

禁用自带的 nouveau nvidia驱动

sudo gedit /etc/modprobe.d/blacklist.conf

看下Nouveau是否已经被禁用

lsmod | grep nouveau

如果已经没有任何显示说明不用禁用了,否则继续下面操作

sudo vim /etc/modprobe.d/blacklist-nouveau.conf #创建一个文件(注:按一下i键,表示现在进行内容插入)

并添加如下内容:

blacklist nouveau

options nouveau modeset=0

注:退出可用两个命令中任意一个:

按完esc键后,按shift+zz 或者

按完esc键后,输入“:wq!”双引号里面的内容

再更新一下:

sudo update-initramfs –u

确认下Nouveau是已经被禁用:

lsmod | grep nouveau

没有输出什么东西,说明已经成功关闭了。

关闭X-window服务:

Ctrl+Alt+F1切换到无桌面命令终端:这里lightdm是你自己的显示管理器,也可能是gdm,kdm,到底是哪一个可以使用 cat /etc/X11/default-display-manager进行查看,然后修改,并关闭显示管理器。这里下面几小步建议用手机拍照,对着照片来做,因为你可能不太熟悉

sudo service lightdm stop

此时正式进入终端界面:

Login:用户账号

Password:用户密码

安装:

cd /home/wlh/tmp # 导到你的下载的驱动放在哪里的地址

sudo sh NVIDIA-Linux-x86_64-387.12.run

按照如下步骤安装:

(1)accept

(2)contiuned install

后面默认yes安装就好了

启动显示器:(lightdm只是我的显示管理器,你可能是前面的说的gdm)

sudo service lightdm start

然后按Ctrl+Alt+F7 进入到桌面进行操作

检查是否成功

nvidia-smi

二、docker安装

下载地址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/

containerd.io_1.2.5-1_amd64.deb

docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb

docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb

dpkg -i containerd.io_1.2.5-1_amd64.deb

dpkg -i docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb

dpkg -i docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb

使用 docker 命令试试安装成功没有。

建立 docker 组:

$ sudo groupadd docker

将当前用户加入 docker 组:

$ sudo usermod -aG docker $USER

三、nvidia docker安装

If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker

Add the package repositories

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

执行下载5个命令,下载5个包到当前目录,拷贝这些包到服务器上。

apt download libnvidia-container1

apt download libnvidia-container-tools

apt download nvidia-container-runtime-hook

apt download nvidia-container-runtime

apt download nvidia-docker2

在服务器上执行,dpkg -i libnvidia nvidia 即可一次安装这5个包。

Test nvidia-smi with the latest official CUDA image

docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

四、安装cuda9.0

首先去官网下载cuda9.0, 下载那个1.6G的.run文件,下载完毕就可以正式安装了。

进入下载目录,给文件添加运行权限:

chmod +x ./cuda_9.0.176_384.81_linux.run

运行安装

sudo ./cuda_9.0.176_384.81_linux.run

启动安装程序,一直按空格到最后(可以选择Ctrl+c跳过),不用担心,到99%的时候,输入accept接受条款

注意:第一个提醒你是否安装驱动时,选“n”,其余都“y”

安装完毕后就需要添加环境了,这步很重要!!!

gedit ~/.bashrc

把下面的内容添加到最后:

export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

测试是否安装成功

nvcc -V

五、安装cudnn7

下载完直接解压,解压会出现一个cuda文件夹,里面有两个文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相应的目录里。 如果你就在local下解压的就不要移动了。只需要给文件加读权限即可!

sudo chmod a+x /usr/local/cuda/include/cudnn.h sudo chmod a+x /usr/local/cuda/lib64/libcudnn*

然后更新网络连接:

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.5 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.0.5. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig

查看cudnn版本,检查是否安装好:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

六、加载打包的镜像

$ docker load<jq_tensorflow1.8-cuda9.0-cudnn7-devel-ubuntu16.04.tar

七、启动容器

docker run --runtime=nvidia -it -v /home/dock/Downloads:/usr/Downloads name /bin/bash

启动报错解决办法:

Systemd drop-in file sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime EOF sudo systemctl daemon-reload sudo systemctl restart docker Daemon configuration file sudo tee /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF sudo pkill -SIGHUP dockerd 再去开启镜像,done。

八、配置容器内环境

容器后台运行退出命令:CTRL+p+q

后台容器重新进入命令:docker exec -it [container id] /bin/bash

Ubuntu16.04下nvidia驱动+nvidia-docker+cuda9+cudnn7安装的更多相关文章

  1. Ubuntu16.04下搜狗输入法、Sublime Text 3的安装

    Ubuntu16.04下搜狗输入法.Sublime Text 3的安装 一.搜狗输入法 1. 安装中文语言 默认在Ubuntu16.04下是没有中文的,需要安装中文,在System Settings- ...

  2. 服务器重装和配置:Ubuntu16.04 + Anaconda3 + GTX1080驱动 + CUDA8 + cuDNN + 常用工具安装

    前一篇[基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法]是在机器原有系统上安装GPU驱动,后来决定备份数据后重装系统,让服务器环境更干净清爽. 1.安 ...

  3. ubuntu16.04下使用navicat连接docker mysql5.7.20

    摘要: 本文将介绍如何使用docker创建mysql容器,并使用navicat连接该mysql服务,最后提供一个navicat中文乱码问题的解决方案. docker的安装和使用在这里不再赘述,如果不是 ...

  4. Ubuntu16.04下使用ufw保护docker容器

      ufw屏蔽服务器非docker容器应用端口没有任何问题.问题出在屏蔽不了容器应用对应端口.排除了"ufw使用不当"."docker-compose.yml端口映射不正 ...

  5. 沈逸老师ubuntu速学笔记(2)-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展

    1.编译安装apache2.4.20 第一步: ./configure --prefix=/usr/local/httpd --enable-so 第二步: make 第三步: sudo make i ...

  6. Ubuntu16.04下配置pip国内镜像源加速安装【转】

    本文转载自:https://blog.csdn.net/yucicheung/article/details/79095742 问题描述 基于国内网速的问题,我们直接pip安装包通常速度非常慢,而且经 ...

  7. 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

  8. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  9. ubuntu16.04下docker安装和简单使用(转)

    ubuntu16.04下docker安装和简单使用   转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...

  10. Ubuntu16.04下安装多版本cuda和cudnn

    Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...

随机推荐

  1. pycharm 2019/10 激活码 最新福利 (1)

    MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiI ...

  2. 创建一个 Laravel 项目

    创建一个 Laravel 项目,首先需要安装 Composer ,如果没有安装的参考 https://docs.phpcomposer.com/00-intro.html 一.安装 Laravel 安 ...

  3. bullet物理引擎与OpenGL结合 导入3D模型进行碰撞检测 以及画三角网格的坑

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置. ...

  4. 第三方登录之GitHub篇

    第一步,准备工作.获取Client ID和Client Secret 1.自行登陆GitHub官网,点击Setting,如下图: 2.继续,点击Developer settings,如下图: 3.继续 ...

  5. OEMCC 13.3 主机agent部署问题排查

    部署安装 具体的安装过程可参考,Alfred Zhao的文章,非常详细,文章是OEMCC13.2的部署过程.OEMCC13.3没有太大差别. https://www.cnblogs.com/jyzha ...

  6. Jenkins项目构建

    一:新建项目 (1)点击新建,输入项目名称--构建一个自由风格的软件项目,点击ok (2)创建项目名称,选择节点标签 (3)构建触发器-----设置每两分钟执行一次 其中有5个参数 (*****) 第 ...

  7. angular之跨域

    一.什么是跨域? 跨域是指一个域下的文档或者脚本去请求另一个域下的资源.(广义) 广义的跨域: 1.资源跳转:链接跳转.重定向.表单提交. 2.资源嵌入:<link>.<script ...

  8. 渗透测试-基于白名单执行payload--Pcalua

    0x01 Pcalua简介 Windows进程兼容性助理(Program Compatibility Assistant)的一个组件. 说明:Pcalua.exe所在路径已被系统添加PATH环境变量中 ...

  9. Powershell寻找域管在线服务器

    记录线下Powershell在域环境中对于服务器的信息收集 Powershell的脚本有很多,在内网渗透测试中不仅能扫,能爆,能转发,还能做更多的事情.我们常用的脚本有Powersploit,Empi ...

  10. KMP算法复习笔记

    KMP 算法 KMP 算法是一种改进的字符串匹配算法,KMP 算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.具体实现就是实现一个next()函数,函数本身包含了 ...