这里引用一段 @masquerader 的在其他帖子里的回复
我有 1 台 MBP ,1 台 8 代 U+8G RAM 轻薄 Windows 10 ,1 台 11 代 U+16G RAM 的轻薄 Windows 10 ,办公室 1 台 Windows 10 笔记本,此外还有 1 台装了 Linux 的机器。我的做法就是利用 Remote Development Container ,把项目的各种依赖弄到 Docker image 里,这样我随便拿起一台电脑就开始我的项目,无论电脑的配置有多渣( 8G 内存),无论电脑是不是装了.NET ,或者有些包对环境有依赖(我的项目的一个依赖包不提供 macOS 版本的原生库),或者是新买一台电脑,装上 VSCode 零设置就可以开始撸码。
这个听起来非常 appealing and exciting ,但是 docker 在我之前使用更像是个应用部署工具,对 docker 部署开发环境理解尚浅。之前看一些文档时候,看到过有的开发会把 python ,git 等等一系列开发工具都装在 docker 里,我没想到 Remote Development Container 这一层,所以当时没有特别在意,只是闪过一个念头:他们为什么要这么做?现在看起来这个方式确实是提升开发效率和复用性非常有帮助的。所以开贴向老鸟学个艺,也互相交流。
比如我现在需要做两个开发工作,在两台电脑 /服务器上。
一个是 vue+express 的,用 pnpm 去下载package.json
里有一堆 dependencies ,完成开发后,docker 打包部署;
另一个是.Net 6 的开发,在 Windows 平台下安装 sdk ,用 msbuild.exe 去编译。
我可以每个开发目录里新建一个 dockerfile ,把所有的依赖都通过 FROM 的方式加载进对应的开发 image 中,然而,我理解的是,这是我所说的“完成开发后,docker 打包部署”的部分,而不完全等同我想表的的在 docker 里开发,比如我想在容器内改代码,使用 git 提交代码,或者使用 python 运行测试脚本,这些工作我都是在容器外完成的,显然这不是 Remote Development Container ,最多只是 Remote Development 。
抛砖引玉,多多指教
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.