基于vscode连接到远程服务中debug

本文章主要讲解以下两点的任务

1.在windows的vscode中去debug 本机子系统wsl2中运行的docker容器

该篇文件参考知乎上这篇文章

vscode远程连接到本机 wsl2子系统 中正在运行的 docker容器,该docker中有一个flask实例,通过vscode远程debug它

1.1安装vscode插件

1.安装 VS Code WSL 扩展
在这里插入图片描述
此扩展使你能够在 VS Code 中打开在 WSL 上运行的 Linux 项目(无需担心路径问题、二进制兼容性或其他跨 OS 的难题)。

1.2安装 VS Code 开发容器扩展(Dev Containers)

在这里插入图片描述
此扩展使你能够打开容器内的项目文件夹或存储库,并利用 Visual Studio Code 的完整功能集在容器中执行开发工作。

1.3安装 VS Code Docker扩展(docker)

在这里插入图片描述
此扩展添加了从 VS Code 内生成、管理和部署容器化应用程序的功能。 (需要开发容器扩展才能将容器实际用作开发环境。)

1.4安装 VS Code Remote-ssh扩展
在这里插入图片描述
安装完 docker,以及 Remote - SSH 后,vscode左侧页面会出现以下两个图标
在这里插入图片描述

1.5通过docker扩展连接容器并debug

docker扩展里面有 CONTAINERS ,会自动加载存在的docker容器,右击想要连接的容器,点击附加到 vscode
在这里插入图片描述
可能出现的问题:
显示附加到容器时出错

解决办法:
尝试用 管理员身份启动 windows中的vscode再重试

1.6在远程连接的容器中安装python扩展用于debug

在这里插入图片描述
至此,该容器中的flask应用可以在vscode中debug了
注意:
容器中已经运行了5000端口的flask进程,你想debug,要么停止该进程,要么换一个端口进行debug
在这里插入图片描述

2.在windows的vscode连接到任何远程服务器(也可debug),并开发

2.1 配置docker(可选)

需要安装 Remote-SSH扩展
如果要远程连接的是docker容器,需要对docker容器内进行配置,步骤如下

  1. docker容器需要暴露容器中的22端口
  2. 容器中需要支持vim,ssh,wget这些命令
  3. 以root身份进入docker进行ssh配置

1.docker exec -it -u root flask_demo bash
2.进入容器后 输入passwd,修改默认密码
3.修改ssh配置文件 vim /etc/ssh/sshd_config
PermitRootLogin yes #允许root用户使用ssh登录,文件内容最后面添加
4.假如没有该文件,需要给容器安装openssh-server和openssh-client,通过 apt-get 下载
5.修改完配置后,重启ssh;/etc/init.d/ssh restart
6.退出容器,测试连接; ssh root@<目标ip> -p <容器中22端口映射出的端口号>

无论是远程服务器或者是远程docker容器,最重要的是需要有ssh服务,用于给vscode的远程debug连接

2.2 配置电脑环境

1.安装git
2.在环境变量里面加入新的git路径,让其他路径下的终端输入git -v可以显示git版本信息
在这里插入图片描述

2.3 vscode远程连接
在这里插入图片描述
回车后输入ssh连接密码
在这里插入图片描述
打开项目目录
在这里插入图片描述
连接后,若想debug,需要在远程连接服务器上下载python扩展包用于debug
在这里插入图片描述
至此,可以在vscode中连到服务器中,并debug服务器中的flask应用
在这里插入图片描述
可能出现的问题

远程连接不上,终端和vscode都连接失败,并且出现下图的报错
在这里插入图片描述
解决办法

  1. 检查是否开代理,打开的话关闭
  2. 登入到容器中重新启动ssh,/etc/init.d/ssh restart

出现如下图的报错
在这里插入图片描述
解决办法
1.vscode没有以管理员身份打开,以管理员身份打开后重试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值