用VSCode Remote-SSH做Docker环境中的开发

news/2024/7/16 7:54:07 标签: vscode, docker, ide

概述

为什么会有用VSCode做Docker环境中的开发这个话题?
因为我们开发的主要内容是在Docker环境内,所以如果使用一般的Host环境下的VSCode,会有很多Path、Lib对不上的问题。

为了解决这个问题,以前我们是在Docker里引入Host的VSCode并使用系统X-Window桌面或者用VNC Server使用GUI。这一次通过通过在Docker环境下开sshd,就可以让VSCode远程连到Docker中,与本机VSCode有同样的体验。

配置步骤

Docker外的准备

  • 在Docker外关闭sshd:sudo service ssh stop

在Docker内安装Open SSH Server

  • 进入Docker
  • 安装服务 sudo apt-get install -y openssh-server
  • 编辑配置 sudo vi /etc/ssh/sshd_config ,找到以下这些行,解除这些行首的注释
  • 如果有需要在Host上也运行SSH Server,为了避免冲突可以修改Port端口
Port 22
ListenAddress 0.0.0.0
ListenAddress ::
PermitRootLogin yes
  • 启动服务 sudo service ssh restart
  • 参考 https://www.cnblogs.com/zhuminghui/p/11066367.html

远程登录

  • 远程登入 ssh username@docker_host_ip ,正常同意输入密码
  • 设定免密码登录 ssh-copy-id username@docker_host_ip ,如果从来没有用过,需要生成公私秘钥
  • 参考 https://zhuanlan.zhihu.com/p/558991188

使用VSCode

  • 在自己PC上打开VSCode
  • 选择左下角Remote Connection,也可以正中间的命令中选 Connect to Host… Remote-SSH
  • 输入运行着Docker的主机IP和端口
  • VSCode会自行初始化

http://www.niftyadmin.cn/n/5291786.html

相关文章

安装Paddlehub报错

我在安装Paddlehub时遇到了各种报错,我遇到的主要遇到以下错误, subprocess-exited-with-error以及 metadata-generation-failed。 其实在报错中就给出了解决方法,但是我没有注意...因此还浪费了很多时间,其实只要加上--use- pep…

【复现】FreeU以及结合stable diffusion

code:GitHub - ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net 才发现AnimateDiff更新v3了,以及又发了篇CVPR的改进工作: 在这个版本中,我们通过域适配器LoRA对图像模型进行了微调,以便在推理时具有更大的灵…

【STM32】程序在SRAM中运行

程序在RAM中运行 1、配置内存分配。 2、修改跳转文件 FUNC void Setup(void) { SP _RDWORD(0x20000000); PC _RDWORD(0x20000004); } LOAD RAM\Obj\Project.axf INCREMENTAL Setup(); 3、修改下载ROM地址和RAM地址; 中断向量表映射 中断向量表映射到SRA…

GoLand for mac 2023.3.2 Go语言开发集成环境

GoLand 是 JetBrains 公司开发的一款专业的 Go 语言集成开发环境(IDE),它提供了许多强大的功能来提高 Go 语言开发者的生产力和代码质量。 一、概述 GoLand 是基于 IntelliJ 平台构建的,继承了 IntelliJ IDEA 的强大功能和稳定性…

拓展视野:数据可视化如何助力企业实现更广阔的业务可能性

在信息时代的浪潮中,企业面临着前所未有的数据量和挑战。而在这个数据的海洋中,数据可视化如一支神奇的魔杖,为企业发展带来更多无限可能性。下面我就以可视化从业者的角度,简单聊聊数据可视化是如何为企业发展带来更多可能性的。…

C语言 for 循环的所有应用

当使用for循环时&#xff0c;它提供了一种在特定条件下重复执行代码块的方法。以下是一些详细的示例&#xff1a; 基本用法&#xff1a; // 打印数字1到5 for (int i 1; i < 5; i) {printf("%d ", i); } // 输出结果&#xff1a;1 2 3 4 5遍历数组&#xff1a;…

25、商城系统(七):商城项目基础功能pom.xml(重要),mybatis分页插件

截止这一章,我们就不把重心放在前端,后台的基础代码,因为后面都是业务层面的crud。 前端直接替换这两个文件夹即可,后台代码也直接复制: 一、重新更新一下所有的pom.xml 这个地方我踩了好多坑,最后得到一个完整的pom.xml,建议大家直接用我的pom.xml替换即可。 1.comm…

《微信小程序开发从入门到实战》学习六十五

6.4 交互API 6.4.5 页面滚动API 使用wx.pageScrollTo接口可使页面自动滚动到目标位置。该接口介绍Object参&#xff0c;该参支持属性如下所示&#xff1a; scrollTop&#xff1a;必填&#xff0c;滚动到页面的目标位置&#xff0c;单位为px duration&#xff1a;滚动动画的…