Docker windows + WSL2 (ubuntu) 的桌面(在 Win10 主页上)

Docker Desktop for windows + WSL2 (ubuntu) ( on 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 clients,但实际的 docker 守护进程是 运行在名为“docker-desktop”的单独 WSL 会话中运行。

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

wsl -d docker-desktop

... 来自 PowerShell、CMD 或 Windows Start/Run.

请注意,此实例是 运行ning BusyBox,因此某些命令将与您预期的不同。例如,-F 参数对 ps.

无效

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

还有一个单独的映像,docker-desktop-data,但它不可启动(里面没有 init)。如果您想查看文件系统,至少可以 wsl --export 它并检查创建的 tar 文件。几个月前我写了一个 answer on Super User 详细的。