1
guiyun 2023-08-04 16:40:01 +08:00
我是安装到 wsl2 上
没法直接在 wsl2 上安装,需要改一些参数 不过我电脑换成 mac 了,就不知道现在可以直接安装了不 我顺便留一下 wsl2 直接安装启动不起 docker 的解决方法 https://www.guiyunweb.com/archives/wsl2docker%E5%90%AF%E5%8A%A8%E4%B8%8D%E8%B5%B7%E6%9D%A5 |
2
Alphagocc 2023-08-04 16:49:31 +08:00 2
wsl2==linux 子系统
|
3
cpstar 2023-08-04 16:51:41 +08:00
似乎,如果以 linux 模式运行 docker ,实际上还是会调用 wsl 的东西搞,而且 cmd 和 wsl 的 docker 是相通的
如果是以 win 模式运行,那会生成一个 hyperv 的 windows 虚拟机 |
4
yinmin 2023-08-04 16:52:43 +08:00 via iPhone
开发环境直接安装 docker 用默认的;生产环境推荐 hyper-v + debian + docker
|
5
shyrock 2023-08-04 17:00:21 +08:00
除了 wsl1&2 ,还有啥 linux 子系统?
|
6
jayeli 2023-08-04 17:10:53 +08:00
wsl2
先启用 systemd cat <<'EOF' >/etc/wsl.conf [boot] systemd=true EOF 再根据 docker 官方的文档 https://docs.docker.com/engine/install/ ,找到对应的 Linux 发行版安装就可以了 最后 systemctl enable --now docker 如果你想使用 docker desktop ,可以看这里 https://docs.docker.com/desktop/install/windows-install/ ,使用 wsl2 作为 backend ,我用不惯后来就卸载了。 |
7
chinalichen 2023-08-04 17:11:44 +08:00 1
wsl2 虽然可以装 docker ,但是很难用,主要是稳定性跟 linux 下的差别巨大,尤其是内存管理,经常会 OutOfMemory 。后续换了 linux 虚拟机后装 docker ,整个世界都变得好起来了。
|
8
chinalichen 2023-08-04 17:12:54 +08:00
@chinalichen linux 虚拟机使用的是 vmware
|
9
ysc3839 2023-08-04 20:42:12 +08:00 via Android
我一般用 VMware 装个 Ubuntu Server 在里面跑 Docker ,或者一些简单的测试就直接用 VMware 的 vctl
|
10
Rennen 2023-08-04 20:46:52 +08:00
买台 VPS 更好用
|
11
UNIXDP OP @Alphagocc 我的意思实际上是 wsl2 上安装一个 docker 桌面还是直接在 linux 子系统比如 ubuntu 上安装一个 docker 引擎
|
12
UNIXDP OP @chinalichen 折腾了一个下午我也决定改用虚拟机了
|
13
bitcapybara 2023-08-04 21:12:34 +08:00 via iPhone
都 wsl 了,可以直接用 podman 呀
|
14
cpstar 2023-08-04 21:18:24 +08:00
缓缓的打出一个问号,问什么要套娃?难道不知道 docker for windows ?然后如果使用 linux 内核,就是 wsl 那套东西,如果使用 windows 内核就是 hyperv 的一个 win 虚拟机(包括 windows sandbox 也是 hyperv 的一个虚拟机)
|
15
studyrun 2023-08-04 21:53:39 +08:00
VMware 虚拟机,对 hyper-v 这套一点好感都没,问题太多了,网络、端口问题,内存占用,主机被虚拟化。。。
|
16
mohumohu 2023-08-04 22:00:55 +08:00
用 Windows docker desktop 就是 wsl2 的啊,他是单独塞了一个 wsl2 发行版进去,而且在 cmd 下运行是 exe ,在其他 wsl2 下运行直接是 docker ,很好用的,如果你是用来构建测试的话。如果你打算是用来当服务器跑的话,还是直接 hyper-v 起一个虚拟机跑最好
|
17
mikewang 2023-08-04 22:02:37 +08:00
WSL2 + podman
如果习惯 docker 命令还能用 podman-docker 兼容一下 |
18
mmdsun 2023-08-05 00:21:24 +08:00 via iPhone
Windows 直接安装 docker desktop ,然后打开启用 WSL 2 的选项。
|
19
ShadowPower 2023-08-05 10:27:53 +08:00
我在 2017 年的时候整的方案:
装 Hyper-V 上,用 WSL 1 .bashrc 里这样配置: # connent to Docker for Windows export DOCKER_HOST=tcp://127.0.0.1:2375 # mount /mnt/c to /c if not already done if [ ! -d "/c" ] || [ ! "$(ls -A /c)" ]; then sudo mkdir -p /c sudo mount --bind /mnt/c /c fi if [ ! -d "/d" ] || [ ! "$(ls -A /d)" ]; then sudo mkdir -p /d sudo mount --bind /mnt/d /d fi # 其他磁盘分区以此类推…… # Change from /mnt/c/... to /c/... if [ "$(pwd | cut -c -7)" == "/mnt/c/" ] || [ "$(pwd | cut -c -7)" == "/mnt/d/" ]; then cd "$(pwd | cut -c 5-)" fi |
20
newbee2000 2023-08-05 10:32:29 +08:00 via iPhone
直接安装 Windows for docker
|
21
piaofeifengxinzi 2023-08-05 10:44:45 +08:00
vscode remote 开发,直接随时随地,有电脑就能肝心爱的代码
|
22
documentzhangx66 2023-08-05 13:17:38 +08:00
docker 是 linux 上的玩意,别折腾 windows
|
23
lujiaosama 2023-08-05 17:34:58 +08:00
@newbee2000 这个也是 HYPER-V, 和 WSL2 没有本质不同.
|
24
canbingzt 2023-08-05 18:10:04 +08:00 via iPhone
@jayeli 我启用 systemd 后,然后启动 docker ,过一会 wsl 就会自动关闭了,但是不起用 systemd 就没事
|
26
Subfire 233 天前
如果是为了在 Windows 上 使用 Linux 系统.
有一种方式是: 在 Windows 上安装 Docker 然后在 Docker 中安装的 Linux, Linux 中一般需要安装各种工具(比如 Redis/MySQL), 这种方式是不太推荐 官网有说明: Remember one point that the host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server |