【docker】VScode连接远程服务器上的docker容器并使用jupyterlab


本文将写关于VScode如何连接远程服务器上已有的容器。
本文操作环境为本地是windows10系统,安装有vscode;远程服务器为ubuntu18.04,主要工作是用来做深度学习训练。

1、创建容器

关于docker和nvidia docker(用来支持容器内调用GPU做深度学习模型训练)的安装可以查看本人基它的博客。
首选拉取镜像,我们计划将在镜像中安装tensorflow:

#本镜像cuda 10.1 cudnn 7.6.5 ,系统是18.04,与宿主机相同
docker pull nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04

拉取后要创建容器:

#docker 19.03及以后版本
docker run -itd --gpus all --restart always  -p 10008:10008 -p 10009:10009 -w /workspace -v /home/workspace:/workspace --name fushan nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 /bin/bash
#docker 19.03以前版本
nvidia-docker run -itd --runtime=nvidia --restart always  -p 10008:10008 -p 10009:10009 -w /workspace -v /home/workspace:/workspace --name fushan nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 /bin/bash

本次有两个端口映射一个计划用于本次远程连接,一个用于使用jupyterlab.
第一个是宿主机:容器 为10008:10008。
这样一个名叫fushan的容器就创建成功了。

2、配置容器

进入容器后执行以下命令:

apt-get update
apt-get install openssh-server
apt-get install openssh-client
apt-get install ssh
apt-get install vim

接着修改ssh的配置文件:

vim /etc/ssh/sshd_config
#填加以下内容:
Port 10008
PermitRootLogin yes #允许root用户使用ssh登录

重启ssh服务:

/etc/init.d/ssh restart

填加root密码:

passwd

退出容器,做连接测试:

ssh root@127.0.0.1 -p 10008

此时,用任何远程工具如xshell,mobaxterm,putty,securecrt等工具都可以直接连接到shell上的终端,如同使用远程服务器一样来进行使用。但我们要使用一个编辑器,所以如下文,我们选择vscode和jupyter

3、vscode 配置

vscode要安装有remote ssh,打开配置文件,输入

Host 起个名
  HostName 远程机器的ip
  Port 10008
  User root

这样连接远程服务器上容器就像连接远程服务器一样。有时会提示vscode sever安装中,但网络等原因问题会安装不上,也会显示连接失败。这时,可以将系统的vscode server复制到容器中(已经连接成功远程服务器,远程服务器的~/路径下存在.vscode_server文件),vscode sever中有远程服务器的vscode插件和python环境,这个文件可以去https://download.csdn.net/download/u011119817/16818309下载。

#容器外执行
docker cp ~/.vscode_server 容器名或容器id:/root

连接成功后如下示例图:
在这里插入图片描述
这样,使用远程服务器中启动的容器就如同直接使用远程服务器一样

4、使用jupyter lab

输入命令:

nohup jupyter lab --port 10008 --allow-root &
cat nohup.out

在这里插入图片描述
会有token产生

接着使用任何一个shell工具,进行端口转发都可以,如下使用vscode:
在这里插入图片描述
依次点击
在这里插入图片描述
鼠标移过去会有一个小球,直接打开浏览器,点击如下:
在这里插入图片描述
会有这样一个页面,为了避免每次都输入密码,我们可以进行设置。

以上内容,本人亲测可行。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值