一、宿主机安装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. VirtualBox 启动时提示“获取 VirtualBox COM 对象失败”的解决

    昨天给电脑打了一堆补丁和更新,今天启动 VirtualBox 的时候提示 “获取 VirtualBox COM 对象失败”,好在百度到了 CSDN 上的一篇文章解决了这个问题. 错误详情 “获取 Vi ...

  2. Spring Cloud Config Server 节点迁移引起的问题,请格外注意这一点!

    前言: 虽然强烈推荐选择使用国内开源的配置中心,如携程开源的 Apollo 配置中心.阿里开源的 Nacos 注册&配置中心. 但实际架构选型时,根据实际项目规模.业务复杂性等因素,有的项目还 ...

  3. ELK日志分析系统(4)-elasticsearch数据存储

    1. 概述 logstash把格式化的数据发送到elasticsearch以后,elasticsearch负责存储搜索日志数据 elasticsearch的搜索接口还是很强大的,这边不详细展开,因为k ...

  4. C# 8 - Range 和 Index(范围和索引)

    C# 7 的 Span C# 7 里面出现了Span这个数据类型,它可以表示另一个数据结构里连续相邻的一串数据,并且它是内存安全的. 例子: 这个图的输出是3,4,5,6. C# 8 的Range类型 ...

  5. MySQL 和 Navicat Premium 下载及安装全过程

    前言: 我对 “MySQL社区版” 的理解是:它只是一个后台服务,它的管理需要用到其他的数据库管理软件,这里我用的是 Navicat Premium,这个软件可以同时为多个数据库提供管理,比如MySQ ...

  6. day 21作业

    目录 一.定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放 二.使用abc模块定义一个phone抽象类 并编写一个具体的实现类 一.定义一个类:圆形,该类有半径,周长, ...

  7. 在chrome浏览器中调用IE浏览器并访问(openIE.reg自定义协议)

    在谷歌浏览器中有4种方法调用IE浏览器.如下: c++ socket通过浏览器在ie中打开指定url : vb生成exe,url访问exe启动ie并打开指定url : 通过socket实现通过http ...

  8. KafkaStream简介

    Kafka Streams 1 概述 Kafka Streams是一个客户端程序库,用于处理和分析存储在Kafka中的数据,并将得到的数据写回Kafka或发送到外部系统.Kafka Stream基于一 ...

  9. 2. spring 应用之IOC

    本文是作者原创,版权归作者所有.若要转载,请注明出处 我们知道Spring Framework 最重要的功能就是IoC (Inversion of Control ),也叫DI(dependency ...

  10. Spring源码分析之IOC的三种常见用法及源码实现(二)

    Spring源码分析之IOC的三种常见用法及源码实现(二) 回顾上文 我们研究的是 AnnotationConfigApplicationContext annotationConfigApplica ...