黑苹果切 Win10(H),对于面向 WSL2 + Docker 开发,各位有什么见解? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
imdong
V2EX    程序员

黑苹果切 Win10(H),对于面向 WSL2 + Docker 开发,各位有什么见解?

 
  •   imdong
    imdong 2020-09-22 17:24:25 +08:00 5569 次点击
    这是一个创建于 1897 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直在用黑苹果开发,开发环境也是在 Docker 里,我主要还是 PHP + Node.js / Web 开发。

    最近为了回家与异地恋远途移动开发使用方便,买了个新本本,现在偶尔会切到 Win10 下开发。

    研究了一下 VSCode + WSL2 + Docker 做开发环境,似乎现在这一整套都已经相当完善且好使了。

    虽然目前还是在研究如何搭环境上,还没能跑通一个 Nginx + PHP + Node.js 的运行环境...

    各位大佬们有没有什么心得经验啊什么的,让俺少踩点坑?

    ========

    说一下题外话,感觉这一套组合方案下来,Windows 与 macOS 下的实际开发体验应该差距小了很多。

    配合 Windows Terminal 是真的舒服,有的一拼!

    目前环境是 WSL2 + CentOS8,还没有全部搞定,感觉应该是到了最后一点东西了。

    33 条回复    2020-09-23 17:56:45 +08:00
    onikage
        1
    onikage  
       2020-09-22 18:01:21 +08:00   1
    WSL2 的 ip 没法固定, 能固定就好了, 已经用这套组合实际完成了一个项目. 体验不错, 每天开机改下 host 是唯一的遗憾.
    derek80
        2
    derek80  
       2020-09-22 19:00:10 +08:00 via iPhone
    稳定性偏差,莫名出现些小 bug 很头疼
    murmur
        3
    murmur  
       2020-09-22 19:01:02 +08:00   1
    wsl1 挺好,wsl2 不如虚拟机
    mashirozx
        4
    mashirozx  
       2020-09-22 19:09:17 +08:00 via iPhone   1
    @onikage 把 IP 输出到 hosts 里就好了吧

    cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*
    imdong
        5
    imdong  
    OP
       2020-09-22 19:50:04 +08:00
    @onikage @mashirozx 看来 IP 的问题又解决了,
    codehz     6
    codehz  
       2020-09-22 20:18:39 +08:00
    docker 都是虚拟机为啥选 win10
    hwdef
        7
    hwdef  
       2020-09-22 20:50:09 +08:00
    前几天 win10 更新刚给 wsl2 弄出来个 bug 。。感觉现在还不是很成熟。。虽然我也用 wsl2 主力开发。。

    开启 docker 的 wsl 后端 windows 和 wsl 用一个 docker,,感觉很舒服。
    THP301
        8
    THP301  
       2020-09-22 21:04:14 +08:00
    装个虚拟机就行了,专注业务
    wangkun025
        9
    wangkun025  
       2020-09-22 21:19:32 +08:00
    其实 WSL 不如想象中好用。
    hui314
        10
    hui314  
       2020-09-22 23:07:42 +08:00 via Android
    wsl2 nginx TTFB 4 秒+,想死
    Muniesa
        11
    Muniesa  
       2020-09-22 23:53:17 +08:00
    内存一路飙升,还是用回了 Linux
    THP301
        12
    THP301  
       2020-09-23 00:25:34 +08:00
    一个虚拟机就啥事都没了,不知道为啥就热衷折腾这种有点没的东西
    djs
        13
    djs  
       2020-09-23 00:41:45 +08:00 via iPhone
    并不如想象中的好……有预算我还是想上苹果
    pC0oc4EbCSsJUy4W
        14
    pC0oc4EbCSsJUy4W  
       2020-09-23 01:03:19 +08:00
    还不如直接弄个个人 sever,vpn 或者其他内网穿透配置好,用 pve 或者 unraid 这种,然后 vscode 连接就行了
    hakono
        15
    hakono  
       2020-09-23 01:10:56 +08:00 via Android
    wsl2 是真的好用,尤其给 docker 开启 wsl2 backend 后,唯一遗憾就是上面说的不能固定 ip
    wsl2 内存占用可以通过给 wsl2 设置内存占用上限轻松解决,我设了 2gb 。讲道理你用虚拟机不设内存上限也一样吃光你内存

    至于为什么不用全功能虚拟机,因为 wsl2 是真的轻量简单啊,虽然 wsl2 是虚拟机但一两秒跑起来的虚拟机而且轻量小巧性能占用不大,体验是真的不一样
    yiyi11
        16
    yiyi11  
       2020-09-23 01:33:04 +08:00 via Android
    虚拟机还是更加干净,安全,随意创建和销毁。虽然虚拟机启动较慢。(重点)但是电脑经常一开就是一整天,完全能接受一定的启动速度。
    m4d3bug
        17
    m4d3bug  
       2020-09-23 07:09:59 +08:00 via Android
    THESDZ
        18
    THESDZ  
       2020-09-23 08:23:49 +08:00
    可以考虑直接 wsl2 远程桌面
    zlowly
        19
    zlowly  
       2020-09-23 09:05:31 +08:00
    对于新版本 win10( > Build 18945),windows apps 已经可以直接用 localhost 访问 WSL2 里的网络应用,固定 IP 也不一定是必须的了。
    kuaner
        20
    kuaner  
       2020-09-23 09:14:57 +08:00
    wsl2 下 docker 的效率似乎不高,但是这套方案我用的挺顺手,暂时没啥特别大毛病
    Carlgao
        21
    Carlgao  
       2020-09-23 09:26:37 +08:00
    docker + linux container 开发也挺爽的啊
    onikage
        22
    onikage  
       2020-09-23 09:52:19 +08:00
    @mashirozx 其实我这边是 windows 端的 host 要改...
    mashirozx
        23
    mashirozx  
       2020-09-23 09:57:23 +08:00
    @onikage #22 大概也是一个 bat 脚本就可以了(狗头
    dongisking
        24
    dongisking  
       2020-09-23 10:04:49 +08:00
    用 docker on windows,映射后的磁盘运行速度极低,昨天下载预览版,发现停留在下载 0%....
    hakono
        25
    hakono  
       2020-09-23 10:16:07 +08:00 via Android
    @zlowly 你还是没理解为什么会需要固定 ip,想要固定 ip 的一般是为了局域网访问 wsl2 端口而这个端口又和宿主机冲突。(这个局域网还包括同一台电脑上的其他虚拟机的网络)
    最常见的例子就是我电脑上的另一台虚拟机想要通过 samba 服务访问 wsl2 里的文件。据我所知因为 wsl2 没有固定 ip,至今没有任何简单的办法解决这个问题。(不如说我发的关于这个问题的帖子都几个月了,至今没人能提出有效的解决办法
    MengiNo
        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 随时随地都能发布出来支持前端联调。
    monlite
        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
    imdong
        28
    imdong  
    OP
       2020-09-23 12:32:51 +08:00
    @codehz #6 @THP301 #8 #12 其实当你用虚拟机的时候,又会有人问你为啥不用 WSL 一样,仅仅是个人选择,萝卜白菜各有所爱。

    我选择 WSL 就是因为我想折腾,而且想积极体验新鲜事物,虚拟机也不是没体验过,但是想换个口味,而且轻量级还是挺重要的(对于本本来说)

    至于专注业务,希望不是专注于公司的业务,个人的业务能力与业务范围(广度)都是挺重要的。

    @wangkun025 新出来的东西总是会有这样那样的问题,但是总要给他机会发展,相信未来一定会做的更好。

    @hui314 之前我也遇到过总是特别慢,但是环境是啥忘记了,还不如外网的服务器响应快。

    @djs 唉,看我上个帖子,预算 4k 求推荐,本来是想 macbook 类的,后来退到黑苹果本,最后无奈,AMD Yes 真香...

    @yiyi11 其实我是属于那种不在明面上看到的,才算干净,别的我都洁癖,WSL 好在属于系统集成不用安装第三方软件,我看中了这点(国产安装包 /软件恐惧后遗症)

    @MengiNo 是有自己的服务器的,你说的这些干净也可以一试,不过干净还是本地更流畅一些吧(道理我懂可做不到)
    codehz
        29
    codehz  
       2020-09-23 13:20:40 +08:00
    @imdong #28 我的意思是 docker 在 win 和 mac 都是基于虚拟化技术做的,所以和 mac 版本应该没有根本区别。。遇到的坑也大同小异。
    photon006
        30
    photon006  
       2020-09-23 13:21:21 +08:00
    @hwdef 那天我也遇到,报错:找不到元素,英文版:element not found,苦恼好几天,大家给的解决办法是卸载 1756 更新。今天微软又推出了新的更新修复了这个问题。
    imdong
        31
    imdong  
    OP
       2020-09-23 13:39:35 +08:00
    @codehz 哈哈,误解了,主要是新买的本本 AMD 真香,没得黑苹果。

    出门需要用,在家主力机还是黑苹果台机。
    jjx
        32
    jjx  
       2020-09-23 16:20:05 +08:00
    已经很好用了

    就是 idea 的支持还需要加强

    目前不能正常的识别 wsl2 下符号链接的文件和目录

    code 倒是正常的
    zhuozimu
        33
    zhuozimu  
       2020-09-23 17:56:45 +08:00
    试过 WSL2, 折腾了好久.最后,用了 manjaro .朋友的 AMD 笔记本换 manjaro 用的也很舒服,楼主可以试试 manjaro
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3337 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:48 PVG 19:48 LAX 03:48 JFK 06:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86