V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
牛客网
imdong
V2EX  ›  程序员

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

  •  
  •   imdong · 35 天前 · 2814 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直在用黑苹果开发,开发环境也是在 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   35 天前   ❤️ 1
    WSL2 的 ip 没法固定, 能固定就好了, 已经用这套组合实际完成了一个项目. 体验不错, 每天开机改下 host 是唯一的遗憾.
    derek80
        2
    derek80   35 天前 via iPhone
    稳定性偏差,莫名出现些小 bug 很头疼
    murmur
        3
    murmur   35 天前   ❤️ 1
    wsl1 挺好,wsl2 不如虚拟机
    mashirozx
        4
    mashirozx   35 天前 via iPhone   ❤️ 1
    @onikage 把 IP 输出到 hosts 里就好了吧

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

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

    至于为什么不用全功能虚拟机,因为 wsl2 是真的轻量简单啊,虽然 wsl2 是虚拟机但一两秒跑起来的虚拟机而且轻量小巧性能占用不大,体验是真的不一样
    yiyi11
        16
    yiyi11   34 天前 via Android
    虚拟机还是更加干净,安全,随意创建和销毁。虽然虚拟机启动较慢。(重点)但是电脑经常一开就是一整天,完全能接受一定的启动速度。
    THESDZ
        18
    THESDZ   34 天前
    可以考虑直接 wsl2 远程桌面
    zlowly
        19
    zlowly   34 天前
    对于新版本 win10( > Build 18945),windows apps 已经可以直接用 localhost 访问 WSL2 里的网络应用,固定 IP 也不一定是必须的了。
    kuaner
        20
    kuaner   34 天前
    wsl2 下 docker 的效率似乎不高,但是这套方案我用的挺顺手,暂时没啥特别大毛病
    Carlgao
        21
    Carlgao   34 天前
    docker + linux container 开发也挺爽的啊
    onikage
        22
    onikage   34 天前
    @mashirozx 其实我这边是 windows 端的 host 要改...
    mashirozx
        23
    mashirozx   34 天前
    @onikage #22 大概也是一个 bat 脚本就可以了(狗头
    dongisking
        24
    dongisking   34 天前
    用 docker on windows,映射后的磁盘运行速度极低,昨天下载预览版,发现停留在下载 0%....
    hakono
        25
    hakono   34 天前 via Android
    @zlowly 你还是没理解为什么会需要固定 ip,想要固定 ip 的一般是为了局域网访问 wsl2 端口而这个端口又和宿主机冲突。(这个局域网还包括同一台电脑上的其他虚拟机的网络)
    最常见的例子就是我电脑上的另一台虚拟机想要通过 samba 服务访问 wsl2 里的文件。据我所知因为 wsl2 没有固定 ip,至今没有任何简单的办法解决这个问题。(不如说我发的关于这个问题的帖子都几个月了,至今没人能提出有效的解决办法
    MengiNo
        26
    MengiNo   34 天前
    虽然 wsl2 有点小瑕疵但是也可堪大任了,个人觉得既然 LZ 选择 vscode 作为开发工具,很推荐试试 vsocde-remote 。趁活动嫖一个云服务器来,PHP 项目的话,一般情况下 1c2g 就够用了。vscode-remote 体验远超 docker-desktop (无论 Windows 的还是 macOS 的)。维护成本还低,自己只要带一个配置文件,代码可选放云上也可以放本地,如果放云上本地甚至连 git 都不要了。后端相当于是真 Linux 的 docker,前端一个 dockerd.exe 随便找台电脑下下来配个环境变量就能跑,啥都不用装也不消耗任何本机资源,而且连公司在云上的 db 的话可以走内网,调试等待时间远低于本地请求,外加还有公网 ip 随时随地都能发布出来支持前端联调。
    monlite
        27
    monlite   34 天前
    wsl2 可以固定 IP,在 win10 和 wsl2 中各配置一个 IP 就可以了,自己再添加下自启就 OK 了。参考: https://github.com/microsoft/WSL/issues/4210#issuecomment-648570493
    imdong
        28
    imdong   34 天前
    @codehz #6 @THP301 #8 #12 其实当你用虚拟机的时候,又会有人问你为啥不用 WSL 一样,仅仅是个人选择,萝卜白菜各有所爱。

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

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

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

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

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

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

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

    出门需要用,在家主力机还是黑苹果台机。
    jjx
        32
    jjx   34 天前
    已经很好用了

    就是 idea 的支持还需要加强

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

    code 倒是正常的
    zhuozimu
        33
    zhuozimu   34 天前
    试过 WSL2, 折腾了好久.最后,用了 manjaro .朋友的 AMD 笔记本换 manjaro 用的也很舒服,楼主可以试试 manjaro
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2841 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:51 · PVG 22:51 · LAX 07:51 · JFK 10:51
    ♥ Do have faith in what you're doing.