外媒初探微软 Win11 WSL 容器:无需 Docker,原生构建、运行和管理 Linux 容器
It之家1小时前

IT之家 7 月 2 日消息,科技媒体 Windows Latest 昨日(7 月 1 日)发布博文,在 Windows 11 系统上,测试微软 6 月推出的 WSL 容器公共预览版。WSL 容器是微软在 WSL(Windows Subsystem for Linux)体系内提供的 Linux 容器能力,让用户不依赖 Docker Desktop 等第三方桌面 Runtime 工具,在 Windows 11 原生环境下直接构建、运行和管理 Linux 容器。更详细报道,可以参考IT之家此前文章《微软发布“开发者优化版”Win11,进一步拥抱 Linux 并推出 WSL 容器》。在构成方面,WSL 容器主要分为 2 个部分:wslc.exe 命令行工具:用户更新 WSL 后自动添加到 PATH 环境变量中,微软还提供了一个名为 container.exe 的别名。WSL Container API:以 NuGet 包的形式分发,支持 C、C++ 和 C# 语言。Windows 应用程序开发人员可以使用它将 Linux 容器直接嵌入到自己的应用程序中。微软曾用 Moonray (一款用于《狂野机器人》等电影的开源 Linux 渲染引擎)演示了这项技术,它运行在 Windows 可执行文件中,完全看不出 Linux 的存在。Moonray 是一个基于 Linux 的渲染引擎,可以通过 WSL 容器在 Windows 系统中运行。在 WSL 容器中运行 MoonrayMoonray 渲染输出安装方面,需要按照以下步骤推进:1、以管理员身份打开 Windows 终端或 PowerShell。2、运行 wsl --update --pre-release 并等待下载完成。3、使用 wsl –shutdown 命令重启 WSL,然后关闭并重新打开终端。4、使用 wslc --version 命令确认安装。用户应该看到版本号 2.9.3.0,这确认 WSL 容器已安装。5、运行 wslc –help 查看完整的命令参考并确认安装文件是否正常工作。微软同时说明,该能力位于 WSL 预发布通道,不要求 Copilot+ PC,但依赖现代虚拟化支持,需在 BIOS 或 UEFI 中启用虚拟化功能。构建和和运行容器方面,该媒体直接运行 wslc run -it debian:latest 命令拉取并运行 Debian 容器:在容器内,运行 uname -a 返回了一个与 WSL2 关联的 Linux 内核字符串,这样可以确认当前处于 Linux 环境:使用 Ctrl+P、Ctrl+Q 分离容器,然后运行 wslc ps -a 命令,即可列出容器的自动生成名称 (mossy_sawtooth),以及容器的启动时间和当前状态。使用 wslc attach mossy_sawtooth 重新连接后,可以直接回到了同一个 shell。该媒体还测试编写了一个容器文件(Containerfile),工作方式与 Dockerfile 相同,用于打包一个小型 Linux 检查实用程序:FROM python:3.12-slimRUN apt-get update && \apt-get install -y –no-install-recommends \file exiftool binutils bsdmainutils coreutils && \rm -rf /var/lib/apt/lists/*WORKDIR /appCOPY requirements.txt .RUN pip install –no-cache-dir -r requirements.txtCOPY app.py .EXPOSE 5000CMD [“python”, “app.py”]然后通过 wslc build -t my-linux-inspector 命令创建隔离机制上,每个调用 WSL Container API 的 Windows 应用都会获得独立的 Hyper-V 虚拟机,命令行流程同样拥有独立虚拟机;而 Docker Desktop 采用单一共享虚拟机承载全部容器,因此资源效率更高。现阶段,WSL Container 仍缺少 Docker Compose 式多服务编排、图形化控制面板及类似 Docker Scout 的镜像扫描能力。相关阅读:《微软宣布 WSL 容器功能正式开放公开预览,无需额外安装 Docker》