Docker在vscode平台上的连接部署

上次提到了docker在pycharm平台上的部署,pycharm作为一款专为python开发的平台,在连接远程服务器进行开发时的操作逻辑并不如人意。相比较vscode直接在远程服务器上编辑运行,pycharm需要将服务器上的代码同步到本地,然后依靠在本地编辑修改后,同步到服务器上运行,然后这可能会导致版本冲突的问题。

与此相比,vscode在服务器上进行开发就显得更为简单,不仅可以直接编辑远程文件,而且相对于pycharm绑定docker镜像而言,vscode绑定的则是特定容器。

基于这一问题,本文介绍在vscode上连接docker的步骤,供大家参考学习。

创建容器

前文说到,docker在pycharm上部署时,我们绑定的是一个镜像,pycharm在每次运行脚本时会自动创建一个容器。这种方式也会导致一个问题,在深度学习中,往往不同的模型对包的要求不同,如果要在环境中添加包,那么就需要利用容器创建一个新的镜像,再进行绑定连接。

而vscode则是绑定特定的容器,因此我们想要添加新的包,直接在容器中导入就可以使用,但这也要求我们在创建容器时就需要设置好我们的容器配置。

这里给出一个例子:

docker run -it --gpus all --name myContainer --shm-size=8g -p 8022:22 -v /home:/home -v /data:/data ctracker:v2 /bin/bash
  • -it表示交互式运行容器
  • –gpus all表示允许容器使用所有gpu,否则默认不使用gpu
  • –name指定容器名称
  • –shm-size设置共享内存大小
  • -p表示端口映射(主机端口:容器端口),这里很重要,后面vscode会根据端口连接该容器
  • -v表示地址映射(主机文件夹:容器文件夹),注意这里的主机文件夹并不是本地主机,而是服务器主机,可以根据自己的程序设置多个地址映射
  • ctracker:v2指定创建容器的镜像名称

配置容器

在创建容器后,我们需要设置容器的ssh连接:

docker ps	#查询当前运行的容器,如果该容器已启动则可以跳过下一条
docker restart myContainer	#重新启动容器
docker exec -it myContainer /bin/bash #进入容器

接下来我们进入创建容器的环境中进行配置操作:

apt-get update
apt-get install openssh-server
apt-get install openssh-client
apt-get install ssh
apt-get install vim
passwd	#创建root密码,后续ssh连接时需要此密码

安装ssh后,修改ssh连接的以下设置:

vim /etc/ssh/sshd_config	#vim修改ssh设置
#将以下配置进行修改或添加,可通过:/str查询关键词
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
port=22	#对应创建容器时指定的容器端口

接下来启动ssh服务,之后每次重启该容器都需要再手动开启ssh服务

service ssh restart

我们可以在本地尝试连接该容器

ssh root@10.128.206.105 -p 8022
#root是创建容器的用户,并非服务器的用户,-p指定刚刚设置的主机端口连接

vscode配置

通过ssh成功连接容器后,我们对vscode进行配置,首先我们需要安装扩展Remote-SSH,在ssh targets中添加映射,或者编辑.ssh/config添加:

Host myContainer
    HostName 10.128.206.105
    User root
    Port 8022

然后就可以通过vscode连接到容器内了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值