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