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

修改内容为:

 {
"registry-mirrors": ["https://registry.docker-cn.com"],
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}

保存并退出。

拉取Deepo镜像:

输入指令:docker pull ufoym/deepo

待下载完成后输入指令:sudo nvidia-docker run --rm ufoym/deepo nvidia-smi检测镜像是否能成功加载。(不报错即为成功)

第二步:配置Deepo镜像中的ssh服务

本教程配置的Deepo镜像中系统版本为Ubuntu 16.04.5 LTS,本身不带ssh服务,需自行配置,配置方法如下:

开启docker:
 sudo nvidia-docker run\  #nvidia-docker启动容器命令
   -it\ #启用前端交互界面
   -p :\    #配置端口号(10000为主机任意空闲端口,22为容器中ssh服务端口)
   ufoym/deepo\   #选择要启动的镜像
  bash       #加载一个bash用于交互
容器内换国内镜像源:

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

vim /etc/apt/sources.list

修改为以下内容:

 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源码
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##测试版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main

保存后退出

apt-get update

安装ssh:

apt-get install openssh-server

2 vim /etc/ssh/sshd_config

找到以下内容并修改如下所示:

# PermitRootLogin without-password #add '#'

PermitRootLogin yes #add

保存并退出

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

ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)的更多相关文章

  1. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(一) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (一)ubuntu18.04配置n ...

  2. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...

  3. Ubuntu18.04 离线安装 docker

    Ubuntu18.04 离线安装 dockerhttps://blog.csdn.net/u012814856/article/details/804231851. 将下载下来的文件夹中的 4 个文件 ...

  4. Ubuntu18.04安装 NVIDIA驱动

    Ubuntu18.04安装 NVIDIA驱动 参考自博客:https://blog.csdn.net/jsjason1/article/details/88086904 我确定这篇文章是否很有必要,我 ...

  5. Ubuntu18.04配置中文输入法(系统自带的)

    Ubuntu18.04配置中文输入法 之前安装Ubuntu18.04的时候选择了english,现在要配置中文的输入法 打开系统设置 点击其中的工具按钮左边第一个 点击管理语言 ==如果系统刚安装可能 ...

  6. Docker实现CentOS容器SSH远程登录

    Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...

  7. 【ubuntu-18.04】ubuntu18.04进行Nvidia显卡配置

    转自https://blog.csdn.net/qq_37935670/article/details/80377196 2.显卡驱动配置 网上有些攻略非常非常复杂,又要禁用nouveau驱动,又要进 ...

  8. Ubuntu18.04上安装Docker CE

    建立 REPOSITORY 1.更新索引包 更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的地址,这样才能获取到最新的软件包 sudo ...

  9. ubuntu18.04安装nvidia驱动总结经验

    本人电脑是 DELL Inspiron 3670, 系统装的是ubuntu18.04, 显卡使用的是GeForce GTX 1050 Ti, 在安装nividia显卡的时候花费两天时间,感受颇深,顾总 ...

随机推荐

  1. Nescafe #29 NOIP模拟赛

    Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...

  2. kubernetes label 标签使用

    查看node的标签kubectl get node --show-labels 删除标签kubectl label nodes node5 storagenode- 设置标签kubectl label ...

  3. kali 2016.2安装及配置

    之前安装过kali,现在换了台电脑重新安装一遍,顺便记录下来,因为面向新手所以会很详(luo)细(suo) 安装: 首先到官网去下载镜像文件:https://www.kali.org/download ...

  4. vagrant特性——基于docker开发环境(docker和vagrant的结合)-4-简单例子-有问题

    运行一个十分简单的例子: Vagrant.configure() do |config| config.vm.provider "docker" do |d| d.image = ...

  5. vector使用小结

    1.创建vector容器: std::vector<int> data; std::vector<int> data(20);大小20,自动赋值为0 std::vector&l ...

  6. js 对于jquery each 多层循环的问题和原生js多层循环问题

    一.在jquery中,我们使用循环的时候,提供两种方式:jquery.each 和(循环体).each  两种方式不是同. 对于return 在作用这两个的函数的时候需要注意: 首先我们需要知道我们的 ...

  7. JAVA框架Struts2(二)

    一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...

  8. Docker的Mysql数据库:把数据存储在本地目录

    Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 $ docker run -d -e MYSQL_ROOT_PASSWORD=admin --n ...

  9. Scala--集合

    一.主要的集合特质 Seq有先后顺序的序列,如数组列表.IndexedSeq通过下标快速的访问元素.不可变:Vector, Range, List 可变:ArrayBuffer, LinkedList ...

  10. 同步IO和异步IO的区别

    首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO.非阻塞IO.IO服用 ...