banner
约 1,800 字
6 分钟

别再开虚拟机了!微软原生 WSLC 容器,才是 Windows 跑容器的终极答案!

摘要

微软全新原生方案 WSL Container(wslc),一条命令替代 Docker,免费开源、无守护进程、支持 GPU 直通。本文手把手带你安装、上手核心命令,并对比 Docker Desktop 与 Podman。

前言

之前如果需要在 Windows 上跑 docker 容器的话,一般会选择 Docker Desktop,优点是操作方便、兼容性强,但是问题也很多,比如我的笔记本跑起来就很吃内存,启动也慢。 微软刚刚发布了全新的原生方案——WSL Container(wslc),一条命令替代 Docker,零成本平替,免费开源,无守护进程,还有 GPU 直通,好用多了。

安装实操

前置条件

  • CPU 开启硬件虚拟化(BIOS 里开 Intel VT-x 或 AMD-V)

  • Windows 10 2004+ 或 Windows 11

  • 已启用「适用于 Linux 的 Windows 子系统」和「虚拟机平台」

  • WSL 版本 ≥ 2.9.3(wslc 最低支持基线)

    3a385e8fc4718a35.png

Step 1:更新 WSL 到预览版

稳定版 WSL 不含 wslc,必须拉取预发布版本。打开管理员权限的 PowerShell

纯文本
wsl --update --pre-release

dc341fdb224fc8d8.png

看到类似「正在更新适用于 Linux 的 Windows 子系统: 2.9.4」就说明成功了。

Step 2:关闭所有 WSL 实例

纯文本
wsl --shutdown

彻底释放正在运行的 WSL 内核进程,保证新版本内核完整加载。

Step 3:重新开一个新终端

这是最容易踩坑的一步!更新后旧终端无法识别 wslc 命令,因为旧终端进程启动时加载的 PATH 缓存里还没有 wslc.exe。必须关掉所有已打开的 PowerShell / Windows Terminal 窗口,重新新开一个管理员终端。

仅执行 wsl --shutdown 是不够的——它只关闭 Linux 内核,不会刷新 Windows 终端的可执行文件缓存。

Step 4:校验 WSL 版本

纯文本
wsl --version

7c5ec3a79ecbf3a6.png

确认输出中 WSL 版本 ≥ 2.9.3:

纯文本
WSL 版本: 2.9.4.0
内核版本: 6.18.35.2-1
WSLg 版本: 1.0.79

Step 5:校验 wslc

纯文本
wslc version

1a617e5039ce4a43.png

正常返回 wslc 2.9.4.0 就说明安装成功了!

核心命令速查(Docker 用户秒上手)

wslc 的语法几乎完全对齐 Docker,原有的肌肉记忆可以直接迁移:

镜像管理

纯文本
# 拉取 OCI 镜像(和 Docker Hub 兼容)
wslc pull ubuntu
wslc pull nginx

# 列出本地镜像
wslc image ls
# 等价写法
wslc images

# 删除镜像
wslc image rm ubuntu

# 清理无标签冗余镜像
wslc image prune

容器生命周期

纯文本
# 临时测试容器,退出自动销毁
wslc run --rm hello-world

# 交互式进入 Ubuntu
wslc run --rm -it ubuntu bash

# 后台启动 Nginx,端口映射 8080:80
wslc run -d --name web -p 8080:80 nginx

# 查看运行中的容器
wslc container ps
# 等价写法
wslc ps

# 查看全部容器(含已停止)
wslc ps -a

# 停止 / 启动 / 删除
wslc stop web
wslc start web
wslc rm web

# 一键清理所有已停止容器
wslc container prune

辅助运维

纯文本
# 实时查看容器资源占用
wslc stats

# 查看容器日志
wslc logs web

# 构建自定义镜像
wslc build -t myapp:latest .

# 查看帮助
wslc --help

实测体验:容器启动基本秒开,比 Docker Desktop 冷启动快不少。微软用了新的 virtiofs 文件系统,宿主机和容器之间的文件读写性能大约提升了 2 倍。以前挂载目录跑前端热重载的卡顿感明显改善。

杀手锏:GPU 直通

对于 AI/ML 开发者来说,这是最兴奋的功能。wslc 通过 CDI(Container Device Interface)直接暴露宿主机 GPU,不需要 Docker daemon 中转:

纯文本
# 测试 CUDA 是否可用
wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

输出你的显卡型号:

纯文本
True
NVIDIA GeForce MX450

b33d1de20aa7338d.png

一个命令拉起 CUDA 容器,跑 PyTorch 推理,GPU 直通开箱即用。不需要装 nvidia-container-toolkit,不需要配 Docker GPU 运行时。

3 个不踩坑实操建议

建议 1:安装后必须重启终端

最高频踩坑点。执行 wsl --update --pre-release 后,旧终端进程的 PATH 缓存里还没有 wslc.exe
正确流程:更新 → shutdown → 关闭所有终端 → 重新新开管理员终端 → 验证版本
如果新开终端还不行,用 Test-Path C:\Windows\System32\wslc.exe 检查二进制文件是否存在,不存在就重新更新。终极兜底:重启电脑。

建议 2:多工具共存,不冲突

Windows 上可以同时保留传统 WSL 发行版(Ubuntu、Debian 等)、Podman machine、wslc 三套环境。三者内核运行层隔离,互不抢占资源。日常开发用 wslc 跑轻量容器,需要 Docker Compose 或 K 8 s 时切回 Docker Desktop 或 Podman,按需切换即可。

建议 3:了解当前限制,别盲目替换

WSLC 目前处于公开预览阶段,以下功能暂不支持:
❌ Docker Compose(多容器编排)
❌ 自定义复杂网桥网络
❌ 持久卷高级挂载
❌ 可视化管理面板(纯 CLI)
❌ K8s 集群

如果你的工作流强依赖 docker-compose.yml,现阶段不建议完全卸载 Docker Desktop。把 wslc 当作轻量替代 + 补充工具使用更稳妥。

WSLC vs Docker Desktop vs Podman 对比

对比维度

WSLC

Docker Desktop

Podman (WSL)

安装方式

WSL 预发布更新,无独立程序

完整客户端安装包

单独下载安装

常驻后台进程

无守护程序,随容器启停

常驻 dockerd + 托盘 GUI

无根架构,无常驻守护

闲置内存占用

最低,复用现有 WSL 2

高,空闲 1 GB+

中等

命令语法

90% 兼容 Docker

原生 Docker 标准

100% 兼容 Docker

GPU/CUDA

原生 WSL 2 显卡直通

支持但需额外配置

原生支持

Compose / K8s

暂不支持

完整支持

支持 Compose(插件)

可视化界面

纯 CLI

完整 GUI 面板

可选第三方 GUI

企业费用

免费

$9~$24/人/月(商用)

免费

完整实操示例

示例 1:快速搭建 Nginx 网页服务

纯文本
# 拉取官方 Nginx 镜像
wslc pull nginx

# 后台启动容器,端口映射 8080
wslc run -d --name demo-nginx -p 8080:80 nginx

# Windows 浏览器访问 http://localhost:8080

# 查看运行状态
wslc ps

# 停止并清理
wslc stop demo-nginx
wslc rm demo-nginx

1493431cba708cb3.png

示例 2:交互式 Ubuntu 开发环境

纯文本
# 拉取 22.04 稳定版
wslc pull ubuntu:22.04

# 进入交互式终端,退出后容器自动销毁
wslc run --rm -it ubuntu:22.04 bash

# 容器内可执行 apt、Python、CUDA 推理等操作

4dc8462030cb07eb.png

示例 3:跑一个 Linux 桌面环境

纯文本
wslc run -d --name=webtop -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p 3000:3000 -p 3001:3001 lscr.io/linuxserver/webtop:ubuntu-kde

fa707019c5ac4f8b.png

浏览器打开 http://localhost:3000,一个完整的 Linux KDE 桌面就跑起来了!

总结

WSLC 是什么:微软把容器运行时直接做进了 WSL 2 内核,无需 Docker Desktop 即可在 Windows 上构建、运行、管理 Linux 容器。

核心优势:免费、零额外安装、命令兼容 Docker、GPU 直通、资源占用低、文件 IO 性能翻倍。

适合谁:本地轻量开发、临时数据库/中间件容器、AI 推理环境、不想装重型容器客户端的用户。

不适合谁:需要 Docker Compose、K8s、可视化面板、企业集群管理的生产环境。

最佳实践:wslc + Docker Desktop 双工具共存,轻量任务用 wslc,复杂编排用 Docker,按需切换。

END