WSL 真的是看着很美好,用起来问题一堆啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2byy
V2EX    Windows

WSL 真的是看着很美好,用起来问题一堆啊

  •  
  •   v2byy 2021-08-13 14:46:07 +08:00 10554 次点击
    这是一个创建于 1523 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天想着试用下 WSL2,然后按照 docker 官方文档下载安装 desktop 版本之后,再 WSL 中 build 一个 image,无法成功,后来 docker desktop 直接 crash 了。

    算了,不折腾了,还是用虚拟机吧

    55 条回复    2021-08-20 17:00:46 +08:00
    fannas
        1
    fannas  
       2021-08-13 14:59:01 +08:00 via iPhone
    wsl2 是不是可以直接安装 docker 啊…BTW docker 技术稍微老了点哈可以试试其他容器化技术
    lithiumii
        2
    lithiumii  
       2021-08-13 15:00:14 +08:00 via Android   13
    wsl 肯定是有
    不看你描述,可能不是 wsl 的
    cheng6563
        3
    cheng6563  
       2021-08-13 15:16:13 +08:00   1
    直接 wsl 里面装个 docker 。
    外部 windows 用 docker-toolbox 远程连接就行了。
    Caskia
        4
    Caskia  
       2021-08-13 15:18:36 +08:00
    在 windows 编译 image,大部分的原因是 /r /r/n 的问题
    ch2
        5
    ch2  
       2021-08-13 15:21:08 +08:00
    不要用 docker desktop,直接用 wsl2 里的 docker
    docker desktop 是它自己额外开了个 wsl2 的实例,跟你开的不同一个
    azkaban
        6
    azkaban  
       2021-08-13 15:25:58 +08:00
    https://imgtu.com/i/fDX2W9
    一直在用,一切正常
    1156909789
        7
    1156909789  
       2021-08-13 15:28:57 +08:00
    不是 wsl2 差,是 docker desktop 差
    v2byy
        8
    v2byy  
    OP
       2021-08-13 15:30:57 +08:00
    @fannas 其他容器化技术是指?
    v2byy
        9
    v2byy  
    OP
       2021-08-13 15:32:06 +08:00
    @ch2 我再 docker desktop 选择的是自己安装的 linux distro,不是默认的
    v2byy
        10
    v2byy  
    OP
       2021-08-13 15:37:14 +08:00
    @ch2 直接 wsl2 中安装 docker 使用有什么问题么?因为我当时搜索,直接就是 docker desktop with wsl2 backend
    Chingim
        11
    Chingim  
       2021-08-13 15:42:43 +08:00   1
    @fannas 展开说说为啥 docker 过时了, 其他容器化技术是啥
    ch2
        12
    ch2  
       2021-08-13 16:10:39 +08:00
    @v2byy #10 唯一的问题的是 docker 服务不能开机自启动,解决办法是 windows 开机的时候跑个脚本把 WSL2 的 docker 服务开启。docker desktop 纯属脱裤子放屁,不需要那玩意
    cheng6563
        13
    cheng6563  
       2021-08-13 16:28:05 +08:00
    @v2byy 主要问题就是目前 wsl2 对 systemd 支持不佳,你要么用些骚操作启动 systemd 然后安装 docker 。要么就要自己下载 docker 的 bin 文件然后自己写个 init.d 脚本启动。
    hez2010
        14
    hez2010  
       2021-08-13 16:42:00 +08:00   2
    @cheng6563 用这个可以给 wsl2 添加 root namespace 和 systemd 支持: https://github.com/arkane-systems/genie
    lostberryzz
        15
    lostberryzz  
       2021-08-13 16:47:51 +08:00
    用 Windows 会精神分裂,各种半成品解决方案实在太多了,老老实实用 Linux 或者 macOS 吧
    zwithz1998
        16
    zwithz1998  
       2021-08-13 16:49:00 +08:00
    明天正好打算发博客,关于 WSL2 和 Docker 配置,使得 Windows 10 Docker 可以通过 WSL 2 调用 GPU 。
    配置完,我用 Docker 一直用的很舒服。
    jiemou
        17
    jiemou  
       2021-08-13 18:20:37 +08:00
    @lostberryzz 赞同
    BeautifulSoap
        18
    BeautifulSoap  
       2021-08-13 18:26:27 +08:00
    docker desktop 其实用得还可以,虽说小毛病时不时会出,但只装一个 docker 在 wsl 和 windows 下都能用这点还挺不错的,就忍着了
    Had
        19
    Had  
       2021-08-13 18:29:34 +08:00
    @zwithz1998 期待!
    harwck
        20
    harwck  
       2021-08-13 18:38:11 +08:00
    确实,所以我宁愿忍忍 Linux 桌面的各种小问题
    zxCoder
        21
    zxCoder  
       2021-08-13 18:38:42 +08:00 via Android
    我用的 docker desktop 没问题
    coer
        22
    coer  
       2021-08-13 18:44:37 +08:00
    @fannas 其他容器技术是指哪个?
    mmdsun
        23
    mmdsun  
       2021-08-13 19:38:17 +08:00 via Android
    idea 最新版本,直接连接 WSL 2 调试。很方便
    locoz
        24
    locoz  
       2021-08-13 19:45:46 +08:00 via Android
    其实吧,最好的选择是 windows 做开发、wsl 只作为本地开发环境,镜像构建之类的全都交给远程连接的 linux 服务器,这样基本就是目前体验最好、性能最高、问题最少的组合,比纯 linux 或者纯 mac 要舒服得多。
    darrh00
        25
    darrh00  
       2021-08-13 19:59:54 +08:00
    windows 连个靠谱的终端都没有,拿 windows 开发是怎么能舒服起来的?
    v2byy
        26
    v2byy  
    OP
       2021-08-13 21:01:55 +08:00
    @zwithz1998 什么场景要 GPU 啊?并行计算?
    zwithz1998
        27
    zwithz1998  
       2021-08-13 21:46:49 +08:00
    @v2byy 深度学习
    gzlock
        28
    gzlock  
       2021-08-13 21:49:05 +08:00
    这个月初主力机从 mac mini 转到 pc(win11 dev 通道预览版,是为了可以体验最新 wsl2+docker 开发环境)
    wsl2+docker 倒是没遇到什么问题
    反而是在 idea 上遇到些问题
    smallthing
        29
    smallthing  
       2021-08-13 23:00:54 +08:00   3
    @darrh00 太搞笑了
    wangxn
        30
    wangxn  
       2021-08-13 23:30:49 +08:00
    WSL2 不是虚拟机吗?里面 Linux 按我理解就是个纯粹的 Linux,和宿主机没任何关系,为啥会有问题?
    v2byy
        31
    v2byy  
    OP
       2021-08-13 23:37:01 +08:00 via iPhone
    @wangxn 因为我用的 docker desktop,我错了
    alexkkaa
        32
    alexkkaa  
       2021-08-14 01:17:28 +08:00 via Android
    这叫系统分裂症 不幸的是每隔一段时间我就会得这种病。
    joetse
        33
    joetse  
       2021-08-14 02:43:22 +08:00
    hyper-v 就是一坨屎, 装个 linux 都各种阉割
    piping
        34
    piping  
       2021-08-14 06:18:22 +08:00
    几种比较简单好用的容器技术除了 docker 以外还有 chroot, schroot, systemd-nspwan, podman
    Dragonish3600
        35
    Dragonish3600  
       2021-08-14 06:25:03 +08:00 via iPhone
    @darrh00 你是来搞笑的么
    elevioux
        36
    elevioux  
       2021-08-14 06:25:24 +08:00 via Android
    我是直接 apt get 安装的,一路没啥问题
    xuanbg
        37
    xuanbg  
       2021-08-14 06:35:30 +08:00
    docker desktop 问题多得很,改用 VM 装 Linux 后,真是天下太平。
    dcoder
        38
    dcoder  
       2021-08-14 09:39:01 +08:00
    docker desktop 一直很难用...
    MakHoCheung
        39
    MakHoCheung  
       2021-08-14 09:40:42 +08:00
    @locoz 怎么个比 Mac 舒服多了
    Damenly1
        40
    Damenly1  
       2021-08-14 09:44:21 +08:00   1
    不能说,说就是你不会用,WSL2 是世界上最好的 linux distro! [doge]
    locoz
        41
    locoz  
       2021-08-14 09:47:25 +08:00   2
    @MakHoCheung #39 Windows 比 BUG OS 稳定得多,没有各种莫名其妙影响使用的 BUG 。我用 Mac 的时候经常碰到无法输入、卡死、鼠标除了窗口控制栏以外均无法点击之类的 BUG,换回 Windows 之后改用 WSL 做开发环境既能得到稳定的系统又能得到同样方便的环境搭建体验,爽飞了好吗...
    shiweiliang
        42
    shiweiliang  
       2021-08-14 09:49:26 +08:00
    我觉得是姿势问题,一直在用 wsl2 docker, 没遇到过任何问题
    jsq2627
        43
    jsq2627  
       2021-08-14 10:21:46 +08:00
    WSL2 目前唯一遗憾是 systemd 缺失吧
    Lemeng
        44
    Lemeng  
       2021-08-14 10:55:56 +08:00
    DD 用不习惯
    zinete
        45
    zinete  
       2021-08-14 13:40:55 +08:00
    好家伙。我看成了猥琐男
    fannas
        46
    fannas  
       2021-08-14 15:56:36 +08:00 via iPhone
    @Chingim 不过时,还是工业界最流行的容器化技术。我看提问的人在想自己装,如果从头开始的话 podman 我的个人意见也是不错的选择。
    lysS
        47
    lysS  
       2021-08-14 16:14:21 +08:00
    直接在 wsl2 里装 docker,只不过要用 service start 启动
    chronos
        48
    chronos  
       2021-08-14 17:01:00 +08:00   1
    wsl2 和 vmware + archlinux 都用过,目前暂时还用着 wsl2 。
    我觉得 wsl2 比较烦的有下面几点:

    1. IP 地址不固定(可以用开机脚本解决)
    2. 没有 systemd (可以用 subsystemctl 或着 genie 在新的 namespace 中开启)
    3. 使用 subsystemctl 或 genie 后,由于 systemd 是在新的 namespace 中的,而且环境变量没有继承过来,导致无法直接使用 windows 的命令,且经常会忘了自己是在 systemd 的 namespace 中还是在外部。
    4. 会跟 proxifiler 冲突,有时候会无网络,关闭重开 proxifiler 后能正常使用网络。
    5. 不能直连 ipv6

    用虚拟机的话,IP 地址、systemd 、网络问题、ipv6 都能解决,但会少了以下几个功能

    1. 不能直接调用 windows 命令,比如在当前位置打开 windows 的资源管理器就不那么方便
    2. 开机速度比 wsl 慢
    3. 没有 \\wsl$ 路径可用 (可以安装 samba 代替)
    4. 没有 127.0.0.1 的网络自动映射,不过有固定 IP 也不是什么问题,而且 wsl 的那个也经常出问题。

    图形界面方面,wsl2 可以用微软的 wslg,另外 xserver 和 freerdp + de 的方式两种都是可以使用的。

    我在 wsl2 和虚拟机里面用 xserver 方式使用 idea 一直有个问题,系统是 archlinux,使用 vcXsrv 时输入法如果用的不是系统自带的,用 rime 的话在 idea 里面会输出自动重复某些奇怪的按键问题。切回微软拼音再使用 fcitx 就没问题了。
    zwithz1998
        49
    zwithz1998  
       2021-08-15 01:07:25 +08:00
    @Had 完成啦,希望能够帮到你~ https://blog.zackzhou.com
    noyidoit
        50
    noyidoit  
       2021-08-15 01:36:21 +08:00
    wsl2 用一年了,问题很多但大多可以解决,遇到的唯一没法解决的是文件系统不支持锁,导致对 svn 的支持非常差
    INTOX8O
        51
    INTOX8O  
      &nsp;2021-08-16 10:16:15 +08:00
    docker desktop wsl2 前段时间卡死重启突然全部 image 和 containers 都不见了...
    libook
        52
    libook  
       2021-08-16 11:04:51 +08:00   1
    Docker Desktop 无论是 Windows 端还是 MacOS 端都有很多问题,而且商业化私货太多,折腾无果已经卸载了,用 docker-machine 方案,在虚拟机里跑一个纯 Linux 环境,然后跑满血的 Docker 。

    WSL 是类似于 chroot 的环境,没有系统初始化过程,所以跑服务不好用,微软搞这个的初衷是方便大家做应用开发的,比如 Web 应用开发,或 Linux 应用程序开发。

    我现在是在 Windows 上跑 XServer,然后在 WSL 里跑基于 X 的 GUI 程序,这样 Linux 的窗口就由 Windows 管理,用 Linux 下的 IDE 做 Web 全栈开发,体验还是不错的,特别是 Linux 和 MacOS 下的脚本可以直接用,不用搞 PowerShell 。
    jingslunt
        53
    jingslunt  
       2021-08-16 17:56:50 +08:00
    确实一堆问题,mysql 服务端旧一堆问题,用不了
    jingslunt
        54
    jingslunt  
       2021-08-16 18:04:11 +08:00
    @Chingim
    他说的 docker 技术老了些,是指 Dockershim 已经被社区抛弃了,特别是 k8s 默认已经不再使用 docker 而是使用 containerd
    CRI,OCI:
    https://feisky.gitbooks.io/kubernetes/content/plugins/CRI.html
    ysn2233
        55
    ysn2233  
       2021-08-20 17:00:46 +08:00
    macos < wslg < linux
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1175 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:29 PVG 07:29 LAX 16:29 JFK 19:29
    Do have faith in what you're doing.
    ubao 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