VSCode 的 Remote Development 扩展与 Docker 扩展使用

自从微软发布了 Remote Development 扩展之后,这个扩展就成为了我不可或缺的工具之一。对我来说,这不仅仅是建议安装,而是强烈推荐安装的扩展!最近工作中会配合容器环境进行开发,有些朋友还没有体验过 VSCode 远程开发的便利,实在是太遗憾了,这篇文章就算是使用记录和软件安利了。

Remote Development 扩展

Remote Development 扩展包含了所有远程开发的组件,安装这些组件后,你可以通过 SSH 连接到远程主机进行开发,或者进入 Docker 容器内部进行开发,甚至可以进入 Windows 的 Linux 子系统进行开发:

首先,你可以看到界面左侧有一个电脑图标,点击后会看到下方的界面,而右上角的下拉菜单可以选择使用 Containers、WSL 或 SSH 进行远程开发。

使用 Remote - WSL

如果你使用的是 Windows 系统,并且主机上安装了 Linux 子系统,比如:

那么在选择 WSL Targets 时,自然会看到可以连接的子系统:

当 VSCode 窗口弹出后,就表示已经成功进入 WSL 了,这时就可以直接在 VSCode 上开始进行开发了。

使用 Remote - Containers

Remote - Containers 的部分也很类似,选择 Containers 后,可以看到主机上所有的容器,选择 Attach to Container 就能够直接打开一个新的 VSCode 窗口进入容器内部进行开发。

使用 Remote - SSH

就我个人而言,SSH 是我最常使用的功能,除了平时需要远程连接到另一台主机外,我自己也会在多个虚拟机中进行开发。首先可以设置好 .ssh/config 文件,内容可能如下:

javascript 复制代码
Host workspace1
  User user1
  IdentityFile ~/.ssh/id_rsa_user1
  Port 22
  HostName xxx.xxx.xxx.xxx
Host workspace2
  User user2
  IdentityFile ~/.ssh/id_rsa_user2
  Port 1022
  HostName xxx.xxx.xxx.xxx
Host workspace3
  User user3
  IdentityFile ~/.ssh/id_rsa_user3
  Port 2022
  HostName xxx.xxx.xxx.xxx

上述主要设置远程主机上的用户名、端口和密钥,设置完成后,在 SSH Targets 选项下,就会看到设置好的 Host 可以选择:

端口转发

在使用 VSCode 远程开发时,如果运行了一些服务,通常会帮你自动做好端口转发,这样就能直接通过 localhost 访问到。

当然,你也可以自己添加,并自定义要绑定的端口,只需右键点击已生成的端口转发选择 Change Local Port 即可:

你可能还会有一个问题:

如果是想要远程到远程主机中的容器内呢?

这个问题很好解决,其实就是先远程到 SSH 主机,然后在弹出的 VSCode 窗口下继续远程到容器中:

只是在这个过程,可能在第二次打开容器时会等待比较长的时间,但等到窗口完全打开后,我在开发过程中并没有感到与本机的容器开发有什么区别。

Docker 扩展

虽然在上面的 Remote - Containers 部分已经足够用了,但也建议把 Docker 的扩展安装使用:

安装完成后可以看到以下的界面:

在 Containers View 部分与 Remote - Containers 类似,也会显示主机上所有的容器,不过这边多了个 Attach Shell 的功能,可以直接在 VSCode 的 Terminal 下打开容器的 bash,这一点其实还是蛮实用的:

而其他的功能也是比较好用的,比如可以列出所有主机上的 docker image ,使用界面执行 docker run 相关指令。

总结

总的来说,这些都是非常方便的工具。虽然在工作中见过一群能用 Vim 进行开发的牛人,但我认为无论使用哪种工具,只要是自己能上手、能加速开发并提升品质的工具,都是值得去学习的。

相关推荐
朱杰jjj7 分钟前
Docker容器中无法使用vim、vi命令处理
docker·容器·vim
东林牧之17 分钟前
CICD[软件安装]:docker安装gitlab
docker·容器·gitlab
东林牧之23 分钟前
CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
docker·gitlab·jenkins
小林up31 分钟前
github push:ssh: connect to host github.com port 22
运维·ssh·github
cui_hao_nan10 小时前
Docker后端部署
运维·docker·容器
大苏打seven11 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
小张是铁粉11 小时前
docker在Linux的安装遇到的问题
linux·docker·容器
没有名字的小羊13 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
企鹅侠客15 小时前
实践篇:14-构建 Node.js 应用程序镜像
docker·node.js·dockerfile
做一个AC梦16 小时前
Docker安装失败:Docker Desktop installation failed
运维·docker·容器