1、宿主機安裝nvidia驅動
打開終端,先刪除舊的驅動:
sudo apt-get purge nvidia*linux
禁用自帶的 nouveau nvidia驅動
sudo gedit /etc/modprobe.d/blacklist.confgit
看下Nouveau是否已經被禁用github
lsmod | grep nouveaudocker
若是已經沒有任何顯示說明不用禁用了,不然繼續下面操做json
sudo vim /etc/modprobe.d/blacklist-nouveau.conf #建立一個文件(注:按一下i鍵,表示如今進行內容插入)ubuntu
並添加以下內容:vim
blacklist nouveaubash
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
2、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
3、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
4、安裝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
5、安裝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
6、加載打包的鏡像
$ docker load<jq_tensorflow1.8-cuda9.0-cudnn7-devel-ubuntu16.04.tar
7、啓動容器
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。