适用于windows+WSL2(ubuntu)的Docker Desktop(在Win10 Home上)



使用这种组合,我可以很好地运行容器。但我注意到,在linux端没有/etc/docker目录,当我执行ps-eF时,我会得到这个。我期望dockerd和容器进程作为dockerd 的子进程


rookie@MAIBENBEN-PC:/mnt/c/Users/rookie$ ps -eF
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0   223   580   6 04:07 ?        00:00:00 /init
root        98     1  0   223    80   5 04:07 ?        00:00:00 /init
root        99    98  0   223    80   5 04:07 ?        00:00:00 /init
rookie     100    99  0 191067 43220  0 04:07 pts/0    00:00:00 docker serve --address unix:///home/rookie/.docker/run/d
root       101    98  0     0     0   1 04:07 ?        00:00:00 [init] <defunct>
root       103    98  0   223    80   7 04:07 ?        00:00:00 /init
root       104   103  0 384463 28888  0 04:07 pts/1    00:00:00 /mnt/wsl/docker-desktop/docker-desktop-proxy --distro-na
root       142     1  0   223    80   4 05:17 ?        00:00:00 /init
root       143   142  0   223    80   6 05:17 ?        00:00:00 /init
rookie     144   143  0  2509  5048   2 05:17 pts/2    00:00:00 -bash
rookie     221   144  0  2654  3264   7 05:21 pts/2    00:00:00 ps -eF

您的Ubuntu会话(以及所有WSL2会话(被设置为docker客户端,但实际的docker守护进程在一个名为"的单独WSL会话中运行;docker桌面";。

我通常建议不要使用这个实例,因为它是由Docker Desktop自动配置和管理的,但如果你真的想看看,请运行:

wsl -d docker-desktop

从PowerShell、CMD或Windows启动/运行。

请注意,此实例正在运行BusyBox,因此有些命令将与您预期的不同。例如,-F参数对ps无效。

您将在此处看到dockerd和相关的containerd进程。

还有一个单独的映像,docker桌面数据,但它是不可引导的(其中没有init(。如果您想查看文件系统,至少可以wsl --export它并检查创建的tar文件。几个月前,我在超级用户上写了一个详细的答案。

最新更新