乐于分享
好东西不私藏

卸载 Docker Desktop!Windows 原生跑容器只要两行命令(附完整教程)

卸载 Docker Desktop!Windows 原生跑容器只要两行命令(附完整教程)

一篇教程。读完你能做到:在 Windows 11 上用微软原生的 wslc 命令跑 Linux 容器,不装 Docker Desktop。

先看完成后的样子:

前提条件:

  • Windows 11(22H2 或更新)
  • 已安装 WSL(wsl --version 能正常输出)
  • 如果没装过 WSL,先跑 wsl --install,重启电脑

准备阶段:升级 WSL 到预览版

第一步:更新 WSL 到 2.9.3 Pre-release

打开 PowerShell(普通用户就行,不需要管理员):

wsl --update --pre-release

等它下载完。大约 200-400MB。

也可以去 GitHub 手动下载:https://github.com/microsoft/WSL/releases

验证版本:

wsl --version

看到 WSL 版本: 2.9.3 或更高就对了。

第二步:确认 wslc 可用

wslc --version

看到版本号输出,说明 wslc.exe 已经在 PATH 里了。

如果提示「找不到命令」,关掉 PowerShell 重新打开。WSL 更新后 PATH 需要刷新。

顺便看一眼别名能不能用:

container --version

和 wslc --version 输出一样。后面的命令用 wslc 或 container 都行。

✅ 验证完成:wslc --version 有输出

核心阶段:跑第一个容器

第三步:Hello World

wslc run hello-world

第一次运行会自动拉取镜像。看到类似输出说明成功:

Hello from Docker!
This message shows that your installation appears to be working correctly.

是的,它打印的还是 "Hello from Docker"。因为用的是同一个 OCI 容器镜像生态。镜像通用,只是跑容器的引擎换了。

第四步:跑一个 Nginx 验证端口映射

wslc run -d --name=mynginx -p 8080:80 nginx

三个参数的意思:

  • -d:后台运行(detach)
  • --name=mynginx:给容器起个名字,方便后面管理
  • -p 8080:80:容器的 80 端口映射到本机 8080

打开浏览器,访问:

http://localhost:8080

看到 Nginx 欢迎页「Welcome to nginx!」就成了。

WSLC 的网络用了新的 consomme 模式。端口映射走 Windows 网络栈,VPN、防火墙规则自动生效。不会出现 Docker Desktop 常见的网络冲突问题。

第五步:跑一个 Python 脚本

wslc run --rm python:3.12-slim python -c "print('Hello from WSLC!')"
  • --rm:跑完自动删容器(一次性任务用这个)
  • python:3.12-slim:官方 Python 精简镜像

Docker Hub 上的镜像直接用。WSLC 兼容 OCI 标准。

✅ 验证完成:三个容器都跑通

进阶阶段:GPU 和文件挂载

第六步:GPU 容器

如果你有 NVIDIA 显卡:

wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime python -c "import torch; print(f'CUDA: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0)}')"

输出 CUDA: True 和你的显卡型号,说明 GPU 透传正常。

前提:Windows 上装了 NVIDIA 显卡驱动(不需要额外操作。不需要在 WSL 里装 CUDA)。 WSLC 通过 CDI(Container Device Interface)自动把 GPU 映射进容器。 没有 NVIDIA 显卡?跳过这步。

第七步:挂载本地目录

把 Windows 上的文件夹映射进容器:

wslc run --rm -v C:\Users\你的用户名\projects\myapp:/app -w /app python:3.12-slim python app.py
  • -v 本地路径:/容器路径:目录挂载
  • -w /app:设置容器的工作目录

容器能读写你 myapp 文件夹里的文件。

底层用了 virtiofs 协议——比 WSL 之前的 9P 协议快一倍。文件读写不再是瓶颈。 Windows 路径直接写 C:\... 格式,WSLC 自动转换。

第八步:跑一个 Linux 桌面(炫一下)

Build 2026 Demo 里 Craig Loewen 演示的一个操作:

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

然后浏览器打开 http://localhost:3000

你会看到一个完整的 Ubuntu KDE 桌面在浏览器里跑。全部在容器里。

这不是日常需要的,但它证明了 WSLC 的能力边界。

✅ 验证完成:GPU 和文件系统都通了

管理阶段:日常命令速查

第九步:容器生命周期管理

# 列出运行中的容器
wslc ps

# 列出所有容器(包括停止的)
wslc ps -a

# 查看容器日志
wslc logs mynginx

# 进入容器内部(交互式 shell)
wslc exec -it mynginx bash

# 停止容器
wslc stop mynginx

# 删除容器
wslc rm mynginx

# 删除镜像
wslc rmi nginx

# 拉取镜像(不运行)
wslc pull ubuntu:24.04

和 Docker 命令一一对应。如果你有 Docker 经验,零学习成本。

完整流程一览

第一次做的建议

  • 先拿 hello-world 和 nginx 练手。小、稳定、结果明显
  • 不要一上来就搞多容器编排。WSLC 目前没有原生 Compose 支持
  • 如果本机已有 Docker Desktop,两者共存没问题。不冲突
  • 遇到问题直接去 GitHub Issues 搜:https://github.com/microsoft/WSL/issues

容易踩的坑

坑 1:忘了加 --pre-release

wsl --update 只更新稳定版。必须 wsl --update --pre-release

没加的话 wslc 命令不存在。

坑 2:端口冲突

Docker Desktop 也在跑?80、8080 可能被占了。

换个端口:-p 9090:80。或者先停 Docker Desktop。

坑 3:镜像拉取慢

WSLC 默认从 Docker Hub 拉镜像。国内网络可能慢。

临时解决:开代理。或等正式版支持配置镜像源。

坑 4:GPU 容器报错 "no GPU devices"

确认 Windows 上的 NVIDIA 驱动是最新版。WSL 的 GPU 透传依赖 Windows 驱动,不需要在容器里装 CUDA。

到 NVIDIA 驱动下载页[1] 更新一下。

坑 5:PowerShell 找不到 wslc

WSL 更新后 PATH 刷新有延迟。关掉所有 PowerShell / Terminal 窗口,重新打开。

什么时候用 WSLC、什么时候还是用 Docker

场景
推荐
个人学习、尝鲜
✅ WSLC
新项目本地开发环境
✅ WSLC
AI/GPU 本地推理
✅ WSLC(GPU 体验好)
已有 docker-compose 编排
🐳 继续 Docker Desktop
需要 GUI 管理界面
🐳 Docker Desktop
企业生产级使用
⏳ 等秋天 GA

Build 2026 Session 里原话:「We plan to make this generally available in the upcoming fall of 2026.」

秋天之前,把它当实验利器。秋天之后,可能是新默认。


参考资料:

  • WSL container is now available for public preview - Microsoft DevBlogs[2]
  • WSL improvements and the new Containers CLI and APIs | DEM346[3]
  • WSL Container API developer reference[4]
  • GitHub: microsoft/WSL Releases[5]
Reference
[1] 

NVIDIA 驱动下载页: https://www.nvidia.com/download/index.aspx

[2] 

WSL container is now available for public preview - Microsoft DevBlogs: https://devblogs.microsoft.com/commandline/wsl-container-is-now-available-for-public-preview

[3] 

WSL improvements and the new Containers CLI and APIs | DEM346: https://www.youtube.com/watch?v=i0M13ZvL04M

[4] 

WSL Container API developer reference: https://wsl.dev/api-reference

[5] 

GitHub: microsoft/WSL Releases: https://github.com/microsoft/WSL/releases

下方是赋能君的AI学习交流永久免费星球,想学习更多内容,欢迎扫码加入。

🙌 如果你阅读到这里,说明我们对信息的认可区域是有一定交集的,可以说我们是同道中人,所以如果你有自认为不错的信息获取渠道,欢迎留言或者私聊我,谢谢。

都看到这里了,就给个关注吧👀:

喜欢我的文章,可以请你右下角顺手来一波点赞&在看&分享三连么👉

相关学习资料