为什么 htop 不使用 wsl2 显示我的 docker 进程

mor*_*rty 5 docker-for-windows wsl-2

使用 docker 和 wsl2 构建我的容器,我想看看会发生什么。在 wsl 中运行htop仅显示 CPU 使用情况,但我的容器中没有运行任何进程。

搜索htopdocker和的唯一信息wsl2,我唯一能找到的是这个存档且不相关的 reddit-thread:https://www.reddit.com/r/bashonubuntuonwindows/comments/dia2bw/htop_on_wsl2_doesnt_show_any_processes_while_ps/

mor*_*rty 9

Docker 不在默认的 WSL 发行版中运行,而是在特殊的 Docker-Wsl-发行版中运行。运行wsl -l显示已安装的发行版:

Ubuntu (Standard)
docker-desktop
docker-desktop-data
Run Code Online (Sandbox Code Playgroud)

Docker 桌面基于 alpine,您可以top开箱即用:

wsl -d docker-desktop top
Run Code Online (Sandbox Code Playgroud)

如果你想要htop,你需要先安装它:

wsl -d docker-desktop apk update 
wsl -d docker-desktop apk add htop
Run Code Online (Sandbox Code Playgroud)

跑步

wsl -d docker-desktop htop
Run Code Online (Sandbox Code Playgroud)

现在将为您提供有关 docker 容器中发生的情况的一个很好的概述:

htop 显示 docker 进程