vscode 远程开发,大家是连接 Linux 系统开发的,有连接 docker 的吗

2021-08-29 00:07:19 +08:00
 ling516

哪个好点

5814 次点击
所在节点    Visual Studio Code
19 条回复
huangsen365
2021-08-29 01:36:40 +08:00
买台 NUC 放家里,用 RDP 远程桌面
dengshen
2021-08-29 02:33:54 +08:00
哎。刚刚还在折腾用 docker 跑( linuxserver/code-server )。但是需要用代理才可以下载插件。没插件根本没法用
beginor
2021-08-29 08:29:34 +08:00
如果不是 Linux 的话,docker 还是省省吧,CPU 和磁盘都很差。如果是 Linux 的话,为啥还要用 docker 呢?好像是个死循环。

如果像 GitHub 那样提供 codespace 服务,倒是可以考虑用 docker 。
MengiNo
2021-08-29 08:36:38 +08:00
@beginor 挺正常的呀,我都是用 macOS 装 docker desktop (或者云主机上装 docker ) 用 vsc-remote-container 连到容器内编码测试。这样完全做到开发环境隔离、vsc 的配置、插件隔离。宿主上连 git 甚至都不用装,完全干净方便迁移。mac 磁盘性能问题以及云主机的 git 权限问题都可以通过用 docker volume 缓解和解决。
MengiNo
2021-08-29 09:09:27 +08:00
建议楼主在 Linux 上装 docker,使用 vsc-remote-container 进行开发。好处有三:
1. docker 的多环境隔离优势自不用说了,加上 Linux 上的 docker 对比 Win / Mac 的 docker desktop 性能优势,得天独厚的条件不用可惜;
2. 使用 docker 之后可以使用 docker compose 管理多项目(比如前后端项目使用 docker compose 一起启动,内部使用同一个 docker network ),vsc-remote-container 在端口暴露、git 的权限、文件管理、vscode 配置文件及插件隔离等问题上处理表现的十分优秀。基本你会用到的东西微软都考虑到了,非常省心;(举个例子,在云主机的 nodejs 容器里写一个 vue 项目,直接在本地的浏览器用 localhost:xxxx 访问,依然支持页面内容的 hot reload 。你完全不需要考虑他是怎么实现的,只要和在本地一样写好 dockerfile & docker-compose.yml 即可)
3. 项目天生容器化,且没有增加额外成本,因为反正做 ci/cd 时都得编写一套,不如直接开发就上 dockerfile,不但环境、流程更仿真,ci/cd 时也可复用;

最关键的是 docker context 一键切换 host 几乎 0 迁移成本实在太爽了。自己的 mac 本机干干净净连 git 和 docker 都没有(只要单独下个 docker-cli 二进制文件就行)。我现在写啥都用 vscode,都快被同事当异类了 23333 。
ophunter
2021-08-29 09:41:03 +08:00
@MengiNo 你这个公司项目有安全风险吧
FlVE
2021-08-29 09:49:52 +08:00
在 docker 里起一个 ssh server 不行吗
XTTX
2021-08-29 09:58:31 +08:00
@MengiNo 云上开发,高级的。我觉得其实是一个趋势,公司可以不用再去买那么多顶配 macbook pro 了
chaleaoch
2021-08-29 10:13:28 +08:00
我宿主机 windows 开发环境 docker
而且把 docker 当 linux 用. 也就是说 N 各项目在一个 docker 里面现在已经 20 多 G 了.

起初的原因是 因为项目需要必须运行在 docker 下面.
后来发现 Linux 环境真的舒服. 公司有提供云主机但是配各种代码麻烦的很. 所以就一直用 docker 了 目前没有遇到性能问题. 4G 内存同时开四个 vscode 无压力.
chaleaoch
2021-08-29 10:14:20 +08:00
需要注意的是做好备份. 曾经 docker 崩了一回. 还好做了备份. 环境还在.
BiteTheDust
2021-08-29 11:41:07 +08:00
还有连 wsl 的呢
AoEiuV020
2021-08-29 12:09:27 +08:00
有,种种原因我最终是 wsl 里的 vscode 连 hyperv 虚拟机里的 docker,
echo1937
2021-08-29 12:28:34 +08:00
1 、家里放高配 PC 确实可行,但是没有公网 IP,内网穿透带宽也很低,体验不好,

2 、本地开发,我在 Windows 上开发,代码跑在 Vagrant + VMware Workstation + Linux Docker 的环境下,主要是看重快速部署的能力。即使是换一台电脑,最多半小时也能把全部开发环境搭建好。

3 、我很希望公有云服务的费用能更灵活和便捷,开发环境直接在云端即可,连步骤 2 都不用配置。
sbilly
2021-08-29 12:38:32 +08:00
不是主力开发环境,只是简单修改下代码之类的,直接远程 web vscode
oubl23
2021-08-29 13:24:48 +08:00
windows 下用 wsl 不行吗
sen2
2021-08-29 14:59:21 +08:00
主机装上 docker,本地 vscode+remotecontainer 插件,非常完美,环境互不影响。
MengiNo
2021-08-29 22:24:16 +08:00
@ophunter 其实我也不太清楚公司要如何防止员工“偷”代码,因为界限太模糊了,特别是疫情下在家办公的情况下。没有在大厂呆过,这块我其实不太了解,总觉得除非不允许连公网,不然不就随便哪怕把代码文件夹拖到微信里不就传播出去了。至于什么录屏、日志、审计这些都是事后溯源证据,无法事前阻止这种事情的发生。
我上面说的操作,我自己自认为是比较自觉的,公司的 git 仓库是内网的,所谓的“云 host” 其实也是我向运维申请的公司内网的测试服务器(物理机其实也在公司里),使用 vsc-remote-container 并不会将代码转移或发布到公司外部。还是你指的安全风险指的是项目本身的风险?
noyidoit
2021-08-30 02:39:16 +08:00
@oubl23 如果公司用 svn 的话,wsl2 不是一个好选择,除非完全放弃 gui 下的 diff
byte10
2021-09-13 14:28:27 +08:00
@XTTX 我也觉得远程开发优势很爽,买几台便宜的台式机就可以满足十几人同时开发,研发人员全部配一个双核低端笔记本即可。
@oubl23 可以,最近公司发了 windows 电脑,不给发 macos,我就是用 wsl,目前没啥大问题,后续直接买个低配的 macos 黑苹果即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX