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 进行开发的牛人,但我认为无论使用哪种工具,只要是自己能上手、能加速开发并提升品质的工具,都是值得去学习的。

相关推荐
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
小敬爱吃饭2 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
杨云龙UP2 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
木子欢儿3 小时前
Docker Hub 镜像发布指南
java·spring cloud·docker·容器·eureka
coppher4 小时前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
bloglin999997 小时前
docker logs 如何一直监听日志输出
运维·docker·容器
说实话起个名字真难啊7 小时前
Docker 入门之网络基础
网络·docker·php
❀͜͡傀儡师8 小时前
使用 Docker 部署 Neko 自托管虚拟浏览器(Firefox)
docker·容器·firefox
小鸡食米8 小时前
Linux-SSH
linux·运维·ssh
0xDevNull8 小时前
Linux Docker 安装与使用详细教程
linux·运维·docker