Microsoft确认你可以在Windows 10中运行WSL Containers 我们最近在 Windows 11 上安装了 WSL Containers,并从零开始构建了一个自定义 Linux 容器,看看在没有 Docker Desktop 的情况下表现如何。微软现已确认,WSLc 在 Windows 10 上同样可用,这让一大批敢于尝试的 PC 用户也能用上它。
Windows 10 已于 2025 年 10 月 14 日停止支持,而据 Windows Latest 率先报道,微软已将消费者 ESU 计划延长至 2027 年 10 月 12 日。数以百万计的 Windows 10 PC 还会继续存在一段时间,而现在 WSL Containers 又多了一个让用户继续使用这款 11 年老系统的理由。

WSL 是 Windows Subsystem for Linux 的缩写,自 2016 年起就是 Windows 的一部分。WSL 2 于 2019 年推出,在轻量级虚拟机中运行真正的 Linux 内核,取代了旧的转换层,这也是 Windows 上能够原生支持 Docker 的关键所在。

不同于一些 Build 2026 初期标题所说的那样,微软并没有发布 WSL 3,而是推出了 WSL Containers。WSL Containers 是一种内置方式,可直接从 Windows 创建、运行和管理 Linux 容器,无需安装 Docker Desktop、Podman Desktop 或其他任何东西。它通过 wslc.exe 运行,这是一个命令行工具,如果你用过 Docker,会觉得它的语法很熟悉。

可以。负责 WSL 开发的微软产品经理 Craig Loewen 向我们确认,WSLc 在 Windows 10 上可以正常工作,和在更新的系统上一样。
“只要是今天受支持的 WSL 可用环境,也就是绝大多数受支持的 Windows 版本,它都能运行。所以,Win10 当然也可以 :)”
WSL 需要 Windows 10 2004 版(Build 19041)或更高版本,而 WSL Containers 是作为 WSL 更新安装的,并不是受 Windows 版本限制的功能。如果你的 Windows 10 PC 已经在运行 WSL 2,它也能运行 WSL Containers。
不出所料,WSL Container 需要先有 WSL 运行起来;而且和 Windows 11 不同,Windows 10 可能默认没有它。另外,Windows 10 也没有预装 Terminal。PowerShell 当然也能正常执行每个命令,但 Terminal 的标签页实在太好用了。所以建议你先安装 Terminal,再继续:





WSL Container 仍处于预发布阶段,因此偶尔出问题也不奇怪。少数用户在首次启动容器时遇到了“灾难性故障,错误代码:E_UNEXPECTED”提示,不过完整重启后大多可以解决。
在 Windows 11 的测试中,我们做法很简单:搭了一个基础 Flask 应用,只是在屏幕上打印文件元数据。这次我们想让结果看起来更完整一些,毕竟是在一套已经停止支持的系统上完成的。挺讽刺的,我知道!

这个容器运行一个小型 Flask 应用,从 Linux 环境内部获取实时数据,包括 CPU 负载、内存占用、运行时间和内核字符串,然后将这些信息渲染到一个深色仪表盘上,带有渐变标题、彩色统计卡片和动画使用条。底部还有一个类似终端的面板打印原始内核输出,所以它依然一眼就是 Linux。
仪表盘上的所有数值——CPU 负载、内存占用、运行时间、内核字符串——都通过标准工具从容器内的 Linux 环境中获取,系统统计用 psutil,内核行用 uname -a,然后渲染为 HTML,通过 Flask 在 5000 端口提供服务。

不出所料,这些流程完全不依赖 Docker Desktop、Docker Engine 或任何 Docker 组件。镜像由 wslc 基于 Containerfile 构建,使用的也是 Docker 所用的同一 OCI 镜像格式,但这里负责构建、运行和网络的工具,是 WSL Container 自己的二进制程序。
如果你一直在寻找在 Windows 上运行 Linux 的方法,你可能已经走过在 WSL2 发行版里手动安装 Docker Engine 的路线,因为多年来在 WSL 还没有第一方容器工具时,这一直是标准的变通方案。

在我们这个小仪表盘里,wslc 直接与负责管理 Linux 虚拟机的 WSL 服务通信,而承担实际工作的容器运行时 Moby,则是 Docker 所基于的那个开源引擎。
实现这一切只需要一个指向轻量级 Python 基础镜像的 Containerfile,在其上安装 Flask 和 psutil,并暴露 5000 端口。构建只需一条命令:
wslc build -t wsl-dashboard .
通过端口映射运行后,在 Edge 浏览器中打开 127.0.0.1:5000,就能看到这个仪表盘,包括样式化卡片、实时条形图等全部内容,都是从 Linux 容器内部提供的,完全没有 Docker Desktop 的影子。

越想这件事,我越期待 WSL Container 的未来。话虽如此,你可能也注意到了,它并没有 GUI。要想要那个,Docker 仍然是必需的。
不过值得一提的是,WSL 负责人 Craig Loewen 还有一个用于管理 WSL Containers 的文本界面仪表盘,叫做 lazywslc。

WSL Container 通过用于 CUDA 容器的 –gpus all 标志支持 GPU 直通,而且在 Windows 10 上的工作方式和 Windows 11 完全一样,因为直通是通过 Windows 的 NVIDIA 驱动完成的。
只需安装普通的 Windows NVIDIA 驱动,Linux 侧无需额外操作,其 CUDA 库就会自动对任何请求 GPU 访问的容器开放。
wslc run –rm –gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime \
python -c “import torch; print(torch.cuda.is_available())”
运行这项检查可以确认容器能够直接访问 GPU,也为本地 AI 工作打开了大门。PyTorch 和 TensorFlow 都可以在启用了 GPU 的 WSL Container 中运行,速度接近原生 Linux,因为 WSL2 的 GPU 直通早已相当稳定。
在一台仍配有独立 GPU 的 Windows 10 电脑上,用这种方式构建容器来微调小模型、通过 Ollama 或 llama.cpp 进行本地推理,或在部署到 Linux 服务器前测试 CUDA 代码,都是完全现实的用法。
如果你的电脑在 2027 年 10 月 ESU 结束前都不会离开 Windows 10,那么 WSL Container 让你有了一个合理理由在手边保留 Linux 工具,而无需额外安装任何东西。就目前而言,它仍处于预发布阶段,像这里搭建的这种单容器用法,比依赖多个关联服务的方案更适合它。把它当作一个实验对象,而不是你日常依赖的生产方案。
公平地说,微软把 WSLc 做成了在 Windows 10 和 Windows 11 上表现完全一致,而不是把它限制为 Windows 11 独占。不过,这种支持是否会随着 WSL Container 的开发周期继续延伸,并加入新的功能(比如 GUI 支持),那是另一回事。无论如何,试用它几乎不花什么成本,也不需要 Windows 10 PC 现有配置之外的任何东西。