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

概述

为什么会有用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端口
bash 复制代码
Port 22
ListenAddress 0.0.0.0
ListenAddress ::
PermitRootLogin yes

远程登录

  • 远程登入 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会自行初始化
相关推荐
【ql君】qlexcel5 小时前
Visual Studio Code的使用,VS code常用扩展
ide·vscode·编辑器·visual studio·扩展
望眼欲穿的程序猿7 小时前
Vscode Clangd 无法索引 C++17 或者以上标准
java·c++·vscode
正经教主7 小时前
【docker基础】第一课、从零开始理解容器技术
docker·云原生·容器·eureka
萌萌哒草头将军8 小时前
CloudDock(云仓):新一代开源NAS网络代理工具
服务器·网络协议·docker
深念Y8 小时前
多模态技术详解:TTS、ASR、OCR
ide·ai·语音识别·agi·多模态·文字识别·实时语言
easyboot10 小时前
Visual Studio 2026安装Avalonia
ide·windows·visual studio
正经教主10 小时前
【docker基础】0、系统学习docker之总计划
学习·docker·容器
Yang三少喜欢撸铁10 小时前
【Centos7通过kubeadm方式部署kubernetes1.30版本【一主两从】】
docker·kubernetes·container
杨浦老苏13 小时前
开源宠物健康护理追踪器EinVault
docker·群晖·宠物·健康管理
卓小帅的博客13 小时前
解决vscode中无法使用特定语言注释的问题
ide·vscode·编辑器·快捷键·无法注释