微软WSLContainers(WSLC)不完全指南:DockerDesktop之外的新选择

admin 2026-07-10 06:23:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 微软在Build2026发布WSLContainers(WSLC)公开预览,使Windows11用户无需DockerDesktop即可直接运行Linux容器。WSLC提供类DockerCLI工具wslc.exe和编程API,支持端口映射、卷挂载、GPU直通等功能。与DockerDesktop相比,WSLC完全免费、系统内置且与Windows生态深度集成,但暂不支持DockerCompose和registrymirror配置。建议单容器场景可尝试WSLC,多容器编排场景仍需使用DockerDesktop。 综合评分: 87 文章分类: 安全工具,解决方案,技术标准


cover_image

微软 WSL Containers(WSLC)不完全指南:Docker Desktop 之外的新选择

原创

一只岸上的鱼 一只岸上的鱼

一只岸上的鱼

2026年7月9日 12:30 江苏

在小说阅读器读本章

去阅读

微软 WSL Containers(WSLC)不完全指南:Docker Desktop 之外的新选择

缘起

windows下想要使用docker,是个麻烦事,不管是从最早虚拟机装个linux,还是简化一点wsl装linux,还是docker desktop,其实都离不开一个虚拟一个linux环境的概念。

2026 年 6 月,微软在 Build 2026 开发者大会上投下一颗重磅炸弹——WSL Containers 正式开放公开预览。这意味着 Windows 11 用户无需安装 Docker Desktop,即可直接在 Windows 上创建、运行和管理 Linux 容器。


一、什么是 WSL Containers(WSLC)?

WSL Containers(简称 WSLC)是WSL 新特性。其核心目标是:将 Linux 容器开发直接内置到 Windows 中,开发者无需安装 Docker Desktop 或任何第三方工具,即可在 Windows 上创建、运行和管理 Linux 容器。

安装:

目前还处于预览阶段,需要通过更新预览版本来安装:

bash

wsl --update --pre-release

# 检查版本
wslc.exe -v
wsl.exe -v

如果看到如下输出,就可以了:

两大核心组件

1. 命令行工具 wslc.exe

更新 WSL 后,系统 PATH 中会自动新增 wslc.exe 二进制文件。它提供了类 Docker 的 CLI 接口,覆盖了完整的容器工作流:

powershell

# 基础操作
wslc run --rm -it ubuntu:24.04 bash          # 运行容器
wslc image ls                                 # 查看镜像列表
wslc pull postgres:16                         # 拉取镜像
wslc exec <container> bash &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;# 进入容器
wslc logs <container> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 查看日志
wslc stop <container> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 停止容器
wslc&nbsp;rm&nbsp;<container> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 删除容器

注意: 当前版本不支持类似docker那种配置镜像源的方式来加速,只能直接指定拉取源:

bash

wslc pull docker.1ms.run/nginx:latest

查看一下下载镜像:

支持的子命令分组:containerimagevolumesessionregistry

高级功能:

  • 端口映射:wslc run -p 8080:80 nginx
  • 卷挂载:wslc run -v C:\Users\me\project:/workspace ubuntu:24.04
  • GPU 直通:wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime ...
  • 后台运行:wslc run -d --name=web nginx
  • 内置别名:container.exe 可当作 wslc.exe 使用

💡 Docker 用户零学习成本wslc 的命令格式与 docker 几乎一致,你只需把 docker 换成 wslc 即可。

启动一个nginx试试

bash

wslc run -d -p 80:80 docker.1ms.run/nginx

查看一下:

访问一下:

注意: 这里是不是又发现一个和linux下docker不一样的地方:80:80这种写法,默认绑定的是127.0.0.1,而linux默认是0.0.0.0

2. WSL Container API(编程接口)

这是 WSLC 最具创新性的部分——允许 Windows 原生应用以编程方式调用 Linux 容器

  • 支持语言

    :C、C++、C#(通过 NuGet 包 Microsoft.WSL.Containers

  • 核心对象模型

| 对象 | 用途 | | — | — | | WslcService | 服务级入口——检查组件、查询版本、安装缺失依赖 | | Session | WSL 托管主机——管理镜像(拉取、导入、推送、删除)并创建容器 | | Container | 容器实例——启动、停止、检查、删除、执行进程 | | Process | 容器内的 Linux 进程——读写 stdin/stdout/stderr、发送信号、获取退出码 |

该 API 还集成了 MSBuild 和 CMake,只需在项目文件中添加少量配置,容器构建和部署步骤就能自动纳入编译流程。


二、WSLC vs Docker Desktop:简单对比

| 对比维度 | WSL Containers(WSLC) | Docker Desktop | | — | — | — | | 安装方式 | WSL 内置,更新即可获得 | 需单独下载安装 | | 许可费用 | 免费 | 企业版(250+ 员工)需付费订阅 | | 后台服务 | 无需常驻后台服务 | 需启动 Docker Desktop 后台服务 | | CLI 语法 | wslc run -d -p 80:80 nginx | docker run -d -p 80:80 nginx | | GPU 直通 | 内置支持(CDI 规范) | 内置支持 | | Docker Compose | ❌ 暂不支持 | ✅ 完整支持 | | 企业管控 | GPO/Intune 白名单策略 | 企业版管理 | | 安全集成 | MDE 插件可监控容器事件 | 依赖第三方方案 | | VS Code 集成 | Dev Containers 0.462.0+ 支持 | 原生支持 | | 底层架构 | 独立 Hyper-V 容器 VM | WSL 2 后端 VM |

小结

WSLC 的优势:

  • 🔓 完全免费,无许可限制
  • 🚀 系统内置,无需安装额外软件
  • 🔧 与 Windows 生态深度集成(GPO、Intune、MDE)
  • ⚡ 底层文件系统升级(virtiofs,速度提升 2 倍)

WSLC 的不足(Preview 阶段):

  • ❌ 不支持 Docker Compose(多容器编排暂不可用)
  • ❌ 不支持 registry mirror 配置(后文详解解决方案)
  • ⚠️ 目前为预览版,稳定性待验证

📌 建议:如果你的工作流严重依赖 docker-compose.yml 编排多容器服务,暂时请继续使用 Docker Desktop。WSLC 目前更适合单容器场景——快速拉起数据库做开发测试、运行 GPU 加速的 ML 容器等。



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:一只岸上的鱼 一只岸上的鱼 一只岸上的鱼《微软 WSL Containers(WSLC)不完全指南:Docker Desktop 之外的新选择》

评论:0   参与:  0