18 年左右尝试了解 docker,当时个人得出的结论是适用于部署但不适用于开发,就没怎么深入学了。近期写了个需要调用 chrome 的程序给运维部署,结果运维那边折腾半天跑不起来。今日复盘分析总结发现,根本原因就是 ubuntu 和 windows 环境不一致造成的( ubuntu 默认无 chrome 依赖),而如果开发时用 docker 统一环境的话,就能规避掉这些问题。
去网上大概看了一下,个人感觉目前最佳实践是 vscode+docker+wsl2? 也有一个 源代码放本地宿主机并挂载,依赖装在容器里 的方案。目前这两种方案都未实践过。研究过这方面实践的 V 友可以讲讲吗?
1 Bazingal 2021-09-18 10:58:34 +08:00 用 wsl2 就没必要用 docker 了吧,源代码放宿主机的话磁盘性能不行,尤其是前端这种文件又多又小的 |
2 wrebjmns OP @Bazingal 等于说用 wsl2 的话,源代码直接放在 wsl2 中?不用 docker 的话,vscode 的 remote-container 如何使用? |
![]() | 4 ch2 2021-09-18 12:02:42 +08:00 不需要 docker,node_modules 得保存在 WSL2 的 vhdx 里 前端开发的话,wsl2 完美胜任,跟 linux/macos 体验一致 |
5 zxCoder 2021-09-18 12:08:20 +08:00 我是 webstorm+wsl |
![]() | 6 TypeError 2021-09-18 12:28:03 +08:00 via Android 大部分 wsl2 可以胜任, 小部分复杂依赖可以使用 docker 装 |
7 Quarter 2021-09-18 12:31:41 +08:00 via iPhone 我觉得直接 vs code 就可以啦,不知道为啥要 docker 和 wsl 啊 |
![]() | 8 Elliota 2021-09-18 13:07:36 +08:00 via Android 我劝你别折腾,面相生产环境开发,折腾子系统的时间够你开几年的虚拟机了 |
9 yEhwG10ZJa83067x 2021-09-18 13:09:52 +08:00 vagrant |
![]() | 10 byzf 2021-09-18 13:11:06 +08:00 windows 上跑 wsl 消耗的资源,和跑一个 ubantu 虚拟机没有任何区别,甚至开虚拟机消耗的资源更少,而且 wsl 还有很多发行版跑不了,再加上 wsl 上各方面的环境和发行版还是有区别,这个用过 wsl 都能感受到。微软只是用这个东西来挖墙脚,里面掺点私活,并没有想真的拥抱 linux 。 docker 解决了你什么问题呢? docker 在 windows 上跑 ubantu 的时候,底层也是跑了个虚拟机,开销不小。说白了你 windows 上开发一个软件,ubantu 上都没测试过就扔给运维去部署,合适吗,我觉得你这个还是测试流程和依赖管理的问题,和用什么工具关系不大。 如果你机器是 windows 的,肯定还是在 windows 上开发、debug 是最高效的,直白的说就是你编译一次是一分钟还是五分钟的问题。正常来说你开发管开发,开发完了进入测试流程以后才会用到 docker 。 |
![]() | 11 inhzus 2021-09-18 13:12:26 +08:00 via iPhone wsl 有各种各样的问题,建议直接用 hyper-v/虚拟机,然后把桌面映射出来,见我之前的分享 https://v2ex.com/t/778002#reply30 |
12 wrebjmns OP @byzf 是的,我第一次接触 docker 的时候,感觉这东西应该是给运维使用的。项目组无测试,我也不太熟悉 Linux 相关的相关依赖。这样看的话,docker 只是帮我解决了部署前的测试问题。 |
13 yuningWang8 2021-09-18 13:56:34 +08:00 wsl ( 2 )用了一年多,前端没问题。 |
![]() | 14 murmur 2021-09-18 14:57:58 +08:00 前端不用 docker 就是装 vs 编译器和 nodegyp 就可以,没遇到什么坑,毕竟是原生 windows,terminal 用 windows terminal 那个微软的 app,好看 |
![]() | 15 byzf 2021-09-18 15:28:43 +08:00 @yuningWang8 前端就算不用 wsl2,用 windows 开发也根本不会有任何问题。 |
![]() | 16 shyling 2021-09-18 16:35:54 +08:00 前端直接用 windows 版 node 一般也没啥问题啊 |
![]() | 17 lin07hui 2021-09-18 16:48:55 +08:00 vscode + node + PowerShell 7,vue create hello-world 开始撸码 |
![]() | 18 shakaraka PRO 累不累啊 |
![]() | 19 james2013 2021-09-18 17:40:40 +08:00 webstorm 很香 通用的操作方法,让我在 webstorm,idea,android studio,pycharm 等 ide 中无缝衔接 |
![]() | 20 everyx 2021-09-18 20:22:19 +08:00 Win10 + WSL2 + VSCode + Devcontainer 太卡了,已换 Arch Linux,丝般顺滑 |
21 ReferenceE 2021-09-18 20:46:04 +08:00 via Android ![]() 等你因为 wsl2 是完全隔离的虚拟机,折腾网络环境折腾得死去活来的时候,我再来看一遍 |