今年7月初的时候,微软发布 WSL 容器公测版,Windows 原生支持 Linux 容器,这意味着无需安装 Docker Desktop,就能直接在 Windows 上运行 Docker 镜像。
3个月后,微软正式发布 WSL 容器,只需要运行 wsl --update 就可以升级到正式版。使用方式上,大多数命令只需要将 docker 替换为 wlsc 即可。

目前有两个功能:
- WSL 容器 CLI :使用
wslc.exe可以直接在 Windows 上构建、运行和部署 Linux 容器(别名container.exe) - WSL 容器 API :访问在原生 Windows 应用中以编程方式运行 Linux 容器的功能,从而解锁诸如运行本地 AI 工作负载或在本地使用基于云的容器化应用程序等场景。

与 Docker 有什么使用区别?
传统上,运行第一个 Docker 容器,只需要:
docker run --rm hello-world
而 WSL 容器这样用:
wslc run --rm hello-world
默认从 Docker Hub(docker.io)抓取镜像。
Docker 与 WSL Containers 常用命令对比
| 操作 | Docker | WSL Containers |
|---|---|---|
| 运行容器 | docker run nginx | wslc run nginx |
| 运行后自动删除 | docker run --rm hello-world | wslc run --rm hello-world |
| 构建镜像 | docker build -t app . | wslc build -t app . |
| 拉取镜像 | docker pull nginx | wslc pull nginx |
| 查看容器 | docker ps | wslc list |
| 查看镜像 | docker images | wslc images |
| 执行容器命令 | docker exec ... | wslc exec ... |
| 查看日志 | docker logs ... | wslc logs ... |
| 停止容器 | docker stop ... | wslc stop ... |
| 重启容器 | docker restart ... | wslc container restart ... |
| 复制文件 | docker cp ... | wslc container cp ... |
| 查看系统信息 | docker info | wslc system info |
| 实时事件 | docker events | wslc events |
| 连接网络 | docker network connect ... | wslc network connect ... |
| 断开网络 | docker network disconnect ... | wslc network disconnect ... |
| 创建网络 | docker network create ... | wslc network create ... |
| 健康检查 | --health-cmd 等 | 支持 Health Check |
| 挂载存储 | docker run --mount ... | wslc run --mount ... |
| 停止超时 | docker run --stop-timeout ... | wslc run --stop-timeout ... |
| 自定义数据存储位置 | Docker Desktop 设置 / Docker 配置 | WSLc 默认会话可配置存储路径 |
| 默认镜像仓库 | Docker Hub | Docker Hub |
| GPU | 支持 | 支持 |
| Compose | docker compose | 暂未支持 |
可以看出来,微软固执的直接替代了大部分 docker 命令,但就是不用 ps, 继续使用 list,这两个差别,到底有什么?
未来:添加 wslc compose
微软也强调下一个功能就是添加 compose 支持,目标是用 wsl compose up 直接替代 docker compose up 继续使用 compose.yaml文件,无需任何修改。
原文:https://www.appinn.com/windows-wsl-container-generally-available/
未来在 Windows 上使用 Docker 将变得非常简单,甚至可以通过 API 让 Windows 应用运行容器。具体看此前的内容: