之前一直在用黑苹果开发,开发环境也是在 Docker 里,我主要还是 PHP + Node.js / Web 开发。
最近为了回家与异地恋远途移动开发使用方便,买了个新本本,现在偶尔会切到 Win10 下开发。
研究了一下 VSCode + WSL2 + Docker 做开发环境,似乎现在这一整套都已经相当完善且好使了。
虽然目前还是在研究如何搭环境上,还没能跑通一个 Nginx + PHP + Node.js 的运行环境...
各位大佬们有没有什么心得经验啊什么的,让俺少踩点坑?
========
说一下题外话,感觉这一套组合方案下来,Windows 与 macOS 下的实际开发体验应该差距小了很多。
配合 Windows Terminal 是真的舒服,有的一拼!
目前环境是 WSL2 + CentOS8,还没有全部搞定,感觉应该是到了最后一点东西了。
1
onikage 2020-09-22 18:01:21 +08:00 1
WSL2 的 ip 没法固定, 能固定就好了, 已经用这套组合实际完成了一个项目. 体验不错, 每天开机改下 host 是唯一的遗憾.
|
2
derek80 2020-09-22 19:00:10 +08:00 via iPhone
稳定性偏差,莫名出现些小 bug 很头疼
|
3
murmur 2020-09-22 19:01:02 +08:00 1
wsl1 挺好,wsl2 不如虚拟机
|
4
mashirozx 2020-09-22 19:09:17 +08:00 via iPhone 1
|
6
codehz 2020-09-22 20:18:39 +08:00
docker 都是虚拟机为啥选 win10
|
7
hwdef 2020-09-22 20:50:09 +08:00
前几天 win10 更新刚给 wsl2 弄出来个 bug 。。感觉现在还不是很成熟。。虽然我也用 wsl2 主力开发。。
开启 docker 的 wsl 后端 windows 和 wsl 用一个 docker,,感觉很舒服。 |
8
THP301 2020-09-22 21:04:14 +08:00
装个虚拟机就行了,专注业务
|
9
wangkun025 2020-09-22 21:19:32 +08:00
其实 WSL 不如想象中好用。
|
10
hui314 2020-09-22 23:07:42 +08:00 via Android
wsl2 nginx TTFB 4 秒+,想死
|
11
Muniesa 2020-09-22 23:53:17 +08:00
内存一路飙升,还是用回了 Linux
|
12
THP301 2020-09-23 00:25:34 +08:00
一个虚拟机就啥事都没了,不知道为啥就热衷折腾这种有点没的东西
|
13
djs 2020-09-23 00:41:45 +08:00 via iPhone
并不如想象中的好……有预算我还是想上苹果
|
14
pC0oc4EbCSsJUy4W 2020-09-23 01:03:19 +08:00
还不如直接弄个个人 sever,vpn 或者其他内网穿透配置好,用 pve 或者 unraid 这种,然后 vscode 连接就行了
|
15
hakono 2020-09-23 01:10:56 +08:00 via Android
wsl2 是真的好用,尤其给 docker 开启 wsl2 backend 后,唯一遗憾就是上面说的不能固定 ip
wsl2 内存占用可以通过给 wsl2 设置内存占用上限轻松解决,我设了 2gb 。讲道理你用虚拟机不设内存上限也一样吃光你内存 至于为什么不用全功能虚拟机,因为 wsl2 是真的轻量简单啊,虽然 wsl2 是虚拟机但一两秒跑起来的虚拟机而且轻量小巧性能占用不大,体验是真的不一样 |
16
yiyi11 2020-09-23 01:33:04 +08:00 via Android
虚拟机还是更加干净,安全,随意创建和销毁。虽然虚拟机启动较慢。(重点)但是电脑经常一开就是一整天,完全能接受一定的启动速度。
|
17
m4d3bug 2020-09-23 07:09:59 +08:00 via Android
|
18
THESDZ 2020-09-23 08:23:49 +08:00
可以考虑直接 wsl2 远程桌面
|
19
zlowly 2020-09-23 09:05:31 +08:00
对于新版本 win10( > Build 18945),windows apps 已经可以直接用 localhost 访问 WSL2 里的网络应用,固定 IP 也不一定是必须的了。
|
20
kuaner 2020-09-23 09:14:57 +08:00
wsl2 下 docker 的效率似乎不高,但是这套方案我用的挺顺手,暂时没啥特别大毛病
|
21
Carlgao 2020-09-23 09:26:37 +08:00
docker + linux container 开发也挺爽的啊
|
24
dongisking 2020-09-23 10:04:49 +08:00
用 docker on windows,映射后的磁盘运行速度极低,昨天下载预览版,发现停留在下载 0%....
|
25
hakono 2020-09-23 10:16:07 +08:00 via Android
@zlowly 你还是没理解为什么会需要固定 ip,想要固定 ip 的一般是为了局域网访问 wsl2 端口而这个端口又和宿主机冲突。(这个局域网还包括同一台电脑上的其他虚拟机的网络)
最常见的例子就是我电脑上的另一台虚拟机想要通过 samba 服务访问 wsl2 里的文件。据我所知因为 wsl2 没有固定 ip,至今没有任何简单的办法解决这个问题。(不如说我发的关于这个问题的帖子都几个月了,至今没人能提出有效的解决办法 |
26
MengiNo 2020-09-23 10:25:17 +08:00
虽然 wsl2 有点小瑕疵但是也可堪大任了,个人觉得既然 LZ 选择 vscode 作为开发工具,很推荐试试 vsocde-remote 。趁活动嫖一个云服务器来,PHP 项目的话,一般情况下 1c2g 就够用了。vscode-remote 体验远超 docker-desktop (无论 Windows 的还是 macOS 的)。维护成本还低,自己只要带一个配置文件,代码可选放云上也可以放本地,如果放云上本地甚至连 git 都不要了。后端相当于是真 Linux 的 docker,前端一个 dockerd.exe 随便找台电脑下下来配个环境变量就能跑,啥都不用装也不消耗任何本机资源,而且连公司在云上的 db 的话可以走内网,调试等待时间远低于本地请求,外加还有公网 ip 随时随地都能发布出来支持前端联调。
|
27
monlite 2020-09-23 12:06:40 +08:00
wsl2 可以固定 IP,在 win10 和 wsl2 中各配置一个 IP 就可以了,自己再添加下自启就 OK 了。参考: https://github.com/microsoft/WSL/issues/4210#issuecomment-648570493
|
28
imdong OP @codehz #6 @THP301 #8 #12 其实当你用虚拟机的时候,又会有人问你为啥不用 WSL 一样,仅仅是个人选择,萝卜白菜各有所爱。
我选择 WSL 就是因为我想折腾,而且想积极体验新鲜事物,虚拟机也不是没体验过,但是想换个口味,而且轻量级还是挺重要的(对于本本来说) 至于专注业务,希望不是专注于公司的业务,个人的业务能力与业务范围(广度)都是挺重要的。 @wangkun025 新出来的东西总是会有这样那样的问题,但是总要给他机会发展,相信未来一定会做的更好。 @hui314 之前我也遇到过总是特别慢,但是环境是啥忘记了,还不如外网的服务器响应快。 @djs 唉,看我上个帖子,预算 4k 求推荐,本来是想 macbook 类的,后来退到黑苹果本,最后无奈,AMD Yes 真香... @yiyi11 其实我是属于那种不在明面上看到的,才算干净,别的我都洁癖,WSL 好在属于系统集成不用安装第三方软件,我看中了这点(国产安装包 /软件恐惧后遗症) @MengiNo 是有自己的服务器的,你说的这些干净也可以一试,不过干净还是本地更流畅一些吧(道理我懂可做不到) |
29
codehz 2020-09-23 13:20:40 +08:00
@imdong #28 我的意思是 docker 在 win 和 mac 都是基于虚拟化技术做的,所以和 mac 版本应该没有根本区别。。遇到的坑也大同小异。
|
30
photon006 2020-09-23 13:21:21 +08:00
@hwdef 那天我也遇到,报错:找不到元素,英文版:element not found,苦恼好几天,大家给的解决办法是卸载 1756 更新。今天微软又推出了新的更新修复了这个问题。
|
32
jjx 2020-09-23 16:20:05 +08:00
已经很好用了
就是 idea 的支持还需要加强 目前不能正常的识别 wsl2 下符号链接的文件和目录 code 倒是正常的 |
33
zhuozimu 2020-09-23 17:56:45 +08:00
试过 WSL2, 折腾了好久.最后,用了 manjaro .朋友的 AMD 笔记本换 manjaro 用的也很舒服,楼主可以试试 manjaro
|