- 使用 wslc.exe 实现原生容器,以减少系统开销。
- 使用 WSL 2 后端相比之前的版本实现了性能优化。
- 与 Visual Studio Code 和开发容器无缝集成,简化工作流程。
- 分析每种方法所需的许可证要求和Windows版本。
如果你是一名在 Windows 系统上工作的开发者,你可能遇到过这样一个由来已久的难题:既想拥有 Linux 的强大功能,又不想格式化电脑或忍受占用大量内存的虚拟机。幸运的是,Linux 生态系统已经取得了巨大的发展,现在我们可以轻松地在 WSL 上部署 Docker 容器,从而在一台机器上同时拥有 Linux 和 Windows 的优势。
最近情况发生了很大变化,从繁琐的配置转向了接近原生应用的解决方案。无论您是需要带有图形界面的专业工具,还是更喜欢直接集成到系统中的轻量级命令行界面 (CLI),都有清晰的路径来搭建您的开发环境,而无需担心计算机因内存不足而崩溃。
新范式:使用 wslc.exe 的原生容器

微软大胆发布了一项公开预览功能,允许用户原生运行 Linux 容器。该功能的亮点在于wslc.exe,这是一个命令行界面,它模仿了熟悉的 Docker 命令,但无需 Docker Desktop。最引人注目的是,它没有使用标准的 WSL 发行版;相反,它为每个容器启动轻量级的 Hyper-V 微型虚拟机,从而显著隔离进程并提高安全性。
要开始使用此工具,您需要拥有 Windows 11(最好是版本 26100 或更高版本)。 将 WSL 更新到预览版 使用命令 wsl --update --pre-release完成此操作后,只需运行即可。 wsl --install-feature containers 做好一切准备。为了检查是否有错误,您可以快速启动一个容器。 wslc run --rm hello-world 如果你看到问候信息,那就意味着 您的环境运行正常。.
让我们开始吧:创建你自己的图像
当你想从基本示例过渡到实际项目时,理想的解决方案是使用带有 WSL 扩展的 VS Code。假设你有一个 Django 项目;你只需要创建一个名为 `.django.js` 的文件。 根目录下的容器文件 其中,您需要定义基础镜像(例如 Python 3),复制所需文件,并安装依赖项。然后,您可以使用该命令。 wslc build -t nombre-de-tu-app . 为 生成自定义图像.
要启动它,关键命令是 wslc run -d -p 8000:8000 nombre-de-tu-app这样 Windows 就可以访问容器的端口。如果您想查看容器内部正在发生的事情,可以使用以下方法: wslc container logs 或执行内部命令 wslc exec如果您发现磁盘空间即将用完,请不要忘记使用 wslc 容器修剪 删除不再使用的内容。
经典方案:Docker Desktop 和 WSL 2

尽管原生解决方案听起来很棒,但 Docker Desktop 凭借其成熟度和可视化界面仍然是标准。关键在于如何使用它。 WSL 2 后端由于采用了真正的 Linux 内核和原生 ext4 文件系统,其速度比版本 1 快得多。这代表着性能的巨大提升。 文件输入输出速度进行诸如此类的操作 npm install o git clone 飞。
如果您是从较旧的安装版本升级而来,最好的办法是彻底清理。删除残留文件夹。 AppData 并消除任何痕迹 DOCKER_HOST 在档案中 .bashrc 避免犯以下常见错误至关重要: 与 Docker 守护进程的连接清理完毕后,安装最新版本的 Docker Desktop,并确保在设置中选中该选项。 与您的 WSL 发行版集成.
高级用户的手动配置
由于企业许可问题或资源消耗,一些用户不愿使用 Docker Desktop。在这种情况下,可以直接在 WSL 中的 Ubuntu 系统上安装 Docker 引擎。这需要创建一个非 root 用户以避免安全风险并授予其权限。 须藤权限 并运行安装程序 docker.io y docker-compose 通过终端。这是一种更手动的方式,但它能给你带来…… 完全控制恶魔 和系统资源。
路线比较与选择

选择 wslc 还是 Docker Desktop 主要取决于你的个人情况。如果你在大公司工作并且想要…… 避免许可费用或者,如果您只是需要在 VS Code 中快速开发时使用容器,那么 wslc 是最佳选择。此外,它还与以下组件集成: VS Code 开发容器 很简单:你只需要更改 Docker 路径即可。 wslc 在 JSON 设置中。
另一方面,如果您依赖Kubernetes 或 Rancher Desktop等编排工具,Docker Desktop 仍然必不可少,因为 WSL 的原生解决方案尚未涵盖该编排层。此外,请记住,使用 wslc 所需的 Hyper-V 隔离功能必须使用Windows 11 专业版或企业版,因为家庭版不支持这些功能。
在 Windows 上配置完善的容器环境能够彻底改变开发体验,使我们能够在数据分析工具、Web 服务器和数据库之间自由切换,而不会对主操作系统造成任何影响。无论是选择轻量级的 Microsoft 微型虚拟机,还是功能强大的 Docker 套件,关键都在于充分利用 WSL 2 架构,以最大限度地提高性能并保持日常工作流程的灵活性。