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
wunonglin 2021-09-18 16:53:25 +08:00
累不累啊
|
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 1
等你因为 wsl2 是完全隔离的虚拟机,折腾网络环境折腾得死去活来的时候,我再来看一遍
|