ubuntu18.04配置nvidia docker和遠程連接ssh+遠程桌面連接(二)


ubuntu18.04配置nvidia docker和遠程連接ssh+遠程桌面連接(二)

本教程適用於想要在遠程服務器上配置docker圖形界面用於深度學習的用戶。

(二)nvidia docker配置Deepo用於深度學習並配置ssh遠程訪問docker

第一步:拉取Deepo鏡像

Deepo是一個幾乎包含所有流行深度學習框架的Docker映像,擁有一個完整的可復制的深度學習研究環境。它涵蓋了當前最流行的深度學習框架:
theano,tensorflow,sonnet,pytorch,keras,lasagne,mxnet,cntk,chainer,caffe,torch

換國內鏡像源:

輸入指令:sudo vim /etc/docker/daemon.json

修改內容為:

1 { 2  "registry-mirrors": ["https://registry.docker-cn.com"], 3  "runtimes": { 4  "nvidia": { 5  "path": "nvidia-container-runtime", 6  "runtimeArgs": [] 7  } 8  } 9 }

 

保存並退出。

拉取Deepo鏡像:

輸入指令:docker pull ufoym/deepo

待下載完成后輸入指令:sudo nvidia-docker run --rm ufoym/deepo nvidia-smi檢測鏡像是否能成功加載。(不報錯即為成功)

第二步:配置Deepo鏡像中的ssh服務

本教程配置的Deepo鏡像中系統版本為Ubuntu 16.04.5 LTS,本身不帶ssh服務,需自行配置,配置方法如下:

開啟docker:
1 sudo nvidia-docker run\  #nvidia-docker啟動容器命令 2    -it\ #啟用前端交互界面 3    -p 10000:22\    #配置端口號(10000為主機任意空閑端口,22為容器中ssh服務端口) 4    ufoym/deepo\   #選擇要啟動的鏡像 5    bash            #加載一個bash用於交互
容器內換國內鏡像源:

 1 cp /etc/apt/sources.list /etc/apt/sources.list.old 

 2 vim /etc/apt/sources.list 

修改為以下內容:

 1 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
 2 deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
 3 deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
 4 deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
 5 ##測試版源  6 deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
 7 # 源碼  8 deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
 9 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
10 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
11 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
12 ##測試版源 13 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
14 # Canonical 合作伙伴和附加 15 deb http://archive.canonical.com/ubuntu/ xenial partner
16 deb http://extras.ubuntu.com/ubuntu/ xenial main

 

保存后退出

 1 apt-get update 

安裝ssh:

 1 apt-get install openssh-server

 2 vim /etc/ssh/sshd_config 

找到以下內容並修改如下所示:

 1 # PermitRootLogin without-password #add '#'

 2 PermitRootLogin yes #add 

保存並退出

 1 service ssh start 

輸入指令:ps -e |grep ssh檢查ssh是否成功安裝並開啟:

修改root密碼:

passwd root

輸入密碼並確認密碼

之后輸入指令:exit #退出容器

保存安裝ssh后的鏡像:

輸入指令:sudo docker ps -a

顯示當前運行過的容器,找到剛才配置過ssh的CONTAINER ID(如果完全按本教程的步驟的話應該是第一個),比如是4e67fae0d525。

輸入指令:sudo docker commit 4e67fae0d525 ufoym/deepo:ssh 即可保存該鏡像。

輸入指令:sudo docker images即可查詢所有鏡像。

檢測該鏡像ssh是否能否正常使用:

開啟容器:sudo nvidia-docker run -it -p 10000:22 ufoym/deepo:ssh bash

確保ssh服務正常啟用:ps -e |grep ssh(沒有的話手動啟用service ssh start)

遠程訪問指令:ssh root@IP地址 10000 輸入root密碼即可遠程連接進入容器

 

目前的配置已經滿足深度學習的需求了,下一期將介紹如何在現有基礎上在docker中配置遠程桌面連接。使不熟悉終端操作的用戶也能方便使用docker。

 

本期參考教程:

拉取鏡像:https://blog.csdn.net/qiansg123/article/details/78559085

Ubuntu換源:https://blog.csdn.net/qq_35451572/article/details/79516563

安裝ssh:https://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.html

構建鏡像:https://blog.csdn.net/hylexus/article/details/52854470


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM