没有NAS不要愁!Windows使用WSL安装docker容器体验服务器功能

摘要

本文介绍了在 Windows 11 上安装并配置 WSL 的全过程。首先检查虚拟化并安装 Debian 系统。针对 WSL 命令繁琐的问题,推荐使用 WSL Dashboard 进行可视化管理。随后详细配置了系统环境,包括安装 Docker、国内源、SSH 服务及面板(如 KPanel),并调整网络模式。最后通过防火墙设置实现局域网访问,适合无 NAS/VPS 用户搭建本地服务器。

前言

前两天试用了一下微软新发布的 WSLC 跑 docker 容器,解决了内存占用的问题。但是这个应用还处在初级阶段,比如只能装在 Windows 11 上,不支持可视化面板,不支持 docker compose,对于我来说还不太可用,所以装回了原版WSL。WSL 本质是 Hyper-V 虚拟机,所以可以跑完整的 Linux 系统,功能没有阉割。

前置条件

  1. 检查是否开启了虚拟化,任务管理器中,虚拟化应该显示已开启,否则去 BIOS 中查看对应设置进行开启
  2. 网络,我看到很多人有这个问题,但只能自己想办法解决了

安装

  1. 安装 WSL 和对应的 Linux 虚拟机,以 Debian 为例

纯文本

1
wsl --install -d Debian --name debian --location c:/wsl/debian

运行命令后会先安装 WSL,中途会要求输入新建用户名和密码,完成后就进入 docker 内

  1. 退出虚拟机 exit

  2. 查看当前虚拟机 wsl -l

  3. 查看能够安装的 linux 系统 wsl -l -o,也可以装 Ubuntu 等其他系统

  4. 如果想要启动后直接进入用户目录,直接输入 wsl ~

  5. 关闭虚拟机 wsl --shutdown

  6. 设置虚拟机,打开 wsl settings, 设置 CPU 数量,内存,硬盘大小,

  7. 重点网络模式,修改成镜像 mirrored,同时勾选主机地址环回,这样就能用本机地址来访问 docker 容器了。

  8. 删除虚拟机 wsl –unregister U 3

  9. 删除 WSL wsl –uninstall

可视化

WSL 需要记很多命令,尤其是多个系统的情况下,管理起来有点麻烦,备份、自启动等功能都需要复杂指令,不想记的话可以安装这个开源项目 WSL Dashboard 项目地址:https://github.com/owu/wsl-dashboard/

可以一键安装、列出、启动、停止、取消注册,并从一个地方配置你的 WSL 发行版。

使用

WSL 本质是虚拟机下的 Linux 系统,所以按照服务器的配置方法设置就可以了,列举一些必备设置,也可以参考我之前安装本地服务器的文章。

  1. 安装 curl 工具

纯文本

1
2
3
4
5
sudo -i

apt update

apt install curl -y
  1. 换国内源

纯文本

1
bash <(curl -sSL https://linuxmirrors.cn/main.sh)
  1. 安装 docker

纯文本

1
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
  1. 开启 ssh

纯文本

1
2
3
apt update

apt install openssh-server -y
  1. 安装 panel,为了方便操作 Linux,安装一个顺手的面板。1panel、宝塔都可以,我自己安装了 KPanel。

纯文本

1
bash <(curl -sL kejilion.sh) app kpanel
  1. 如果应用无法打开,修改 HyperV 虚拟机防火墙设置,保证局域网其他设备可以访问。 使用 powershell 管理员权限运行

纯文本

1
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow

结尾

此时服务器就基本设置完成,功能齐全,安装 WSL Dashboard 后也非常轻松的解决了开机自启,目录访问等很麻烦的操作,也可以通过内网穿透在公网访问本地应用,非常适合没有 NAS 或 VPS 的小伙伴学习体验。

别再开虚拟机了!微软原生 WSLC 容器,才是 Windows 跑容器的终极答案!

摘要

微软全新原生方案 WSL Container(wslc),一条命令替代 Docker,免费开源、无守护进程、支持 GPU 直通。本文手把手带你安装、上手核心命令,并对比 Docker Desktop 与 Podman。

前言

之前如果需要在 Windows 上跑 docker 容器的话,一般会选择 Docker Desktop,优点是操作方便、兼容性强,但是问题也很多,比如我的笔记本跑起来就很吃内存,启动也慢。 微软刚刚发布了全新的原生方案——WSL Container(wslc),一条命令替代 Docker,零成本平替,免费开源,无守护进程,还有 GPU 直通,好用多了。

安装实操

前置条件

  • CPU 开启硬件虚拟化(BIOS 里开 Intel VT-x 或 AMD-V)
  • Windows 10 2004+ 或 Windows 11
  • 已启用「适用于 Linux 的 Windows 子系统」和「虚拟机平台」
  • WSL 版本 ≥ 2.9.3(wslc 最低支持基线)

Step 1:更新 WSL 到预览版

稳定版 WSL 不含 wslc,必须拉取预发布版本。打开管理员权限的 PowerShell

纯文本

1
wsl --update --pre-release

看到类似「正在更新适用于 Linux 的 Windows 子系统: 2.9.4」就说明成功了。

Step 2:关闭所有 WSL 实例

纯文本

1
wsl --shutdown

彻底释放正在运行的 WSL 内核进程,保证新版本内核完整加载。

Step 3:重新开一个新终端

这是最容易踩坑的一步!更新后旧终端无法识别 wslc 命令,因为旧终端进程启动时加载的 PATH 缓存里还没有 wslc.exe。必须关掉所有已打开的 PowerShell / Windows Terminal 窗口,重新新开一个管理员终端。

仅执行 wsl --shutdown 是不够的——它只关闭 Linux 内核,不会刷新 Windows 终端的可执行文件缓存。

Step 4:校验 WSL 版本

纯文本

1
wsl --version

确认输出中 WSL 版本 ≥ 2.9.3:

纯文本

1
2
3
WSL 版本: 2.9.4.0
内核版本: 6.18.35.2-1
WSLg 版本: 1.0.79

Step 5:校验 wslc

纯文本

1
wslc version

正常返回 wslc 2.9.4.0 就说明安装成功了!

核心命令速查(Docker 用户秒上手)

wslc 的语法几乎完全对齐 Docker,原有的肌肉记忆可以直接迁移:

镜像管理

纯文本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 拉取 OCI 镜像(和 Docker Hub 兼容)
wslc pull ubuntu
wslc pull nginx

# 列出本地镜像
wslc image ls
# 等价写法
wslc images

# 删除镜像
wslc image rm ubuntu

# 清理无标签冗余镜像
wslc image prune

容器生命周期

纯文本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 临时测试容器,退出自动销毁
wslc run --rm hello-world

# 交互式进入 Ubuntu
wslc run --rm -it ubuntu bash

# 后台启动 Nginx,端口映射 8080:80
wslc run -d --name web -p 8080:80 nginx

# 查看运行中的容器
wslc container ps
# 等价写法
wslc ps

# 查看全部容器(含已停止)
wslc ps -a

# 停止 / 启动 / 删除
wslc stop web
wslc start web
wslc rm web

# 一键清理所有已停止容器
wslc container prune

显示更多

辅助运维

纯文本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 实时查看容器资源占用
wslc stats

# 查看容器日志
wslc logs web

# 构建自定义镜像
wslc build -t myapp:latest .

# 查看帮助
wslc --help

实测体验:容器启动基本秒开,比 Docker Desktop 冷启动快不少。微软用了新的 virtiofs 文件系统,宿主机和容器之间的文件读写性能大约提升了 2 倍。以前挂载目录跑前端热重载的卡顿感明显改善。

杀手锏:GPU 直通

对于 AI/ML 开发者来说,这是最兴奋的功能。wslc 通过 CDI(Container Device Interface)直接暴露宿主机 GPU,不需要 Docker daemon 中转:

纯文本

1
2
# 测试 CUDA 是否可用
wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

输出你的显卡型号:

纯文本

1
2
True
NVIDIA GeForce MX450

一个命令拉起 CUDA 容器,跑 PyTorch 推理,GPU 直通开箱即用。不需要装 nvidia-container-toolkit,不需要配 Docker GPU 运行时。

3 个不踩坑实操建议

建议 1:安装后必须重启终端

最高频踩坑点。执行 wsl --update --pre-release 后,旧终端进程的 PATH 缓存里还没有 wslc.exe。 正确流程:更新 → shutdown → 关闭所有终端 → 重新新开管理员终端 → 验证版本。 如果新开终端还不行,用 Test-Path C:\Windows\System32\wslc.exe 检查二进制文件是否存在,不存在就重新更新。终极兜底:重启电脑。

建议 2:多工具共存,不冲突

Windows 上可以同时保留传统 WSL 发行版(Ubuntu、Debian 等)、Podman machine、wslc 三套环境。三者内核运行层隔离,互不抢占资源。日常开发用 wslc 跑轻量容器,需要 Docker Compose 或 K 8 s 时切回 Docker Desktop 或 Podman,按需切换即可。

建议 3:了解当前限制,别盲目替换

WSLC 目前处于公开预览阶段,以下功能暂不支持: ❌ Docker Compose(多容器编排) ❌ 自定义复杂网桥网络 ❌ 持久卷高级挂载 ❌ 可视化管理面板(纯 CLI) ❌ K8s 集群

如果你的工作流强依赖 docker-compose.yml,现阶段不建议完全卸载 Docker Desktop。把 wslc 当作轻量替代 + 补充工具使用更稳妥。

WSLC vs Docker Desktop vs Podman 对比

对比维度WSLCDocker DesktopPodman (WSL)
安装方式WSL 预发布更新,无独立程序完整客户端安装包单独下载安装
常驻后台进程无守护程序,随容器启停常驻 dockerd + 托盘 GUI无根架构,无常驻守护
闲置内存占用最低,复用现有 WSL 2高,空闲 1 GB+中等
命令语法90% 兼容 Docker原生 Docker 标准100% 兼容 Docker
GPU/CUDA原生 WSL 2 显卡直通支持但需额外配置原生支持
Compose / K8s暂不支持完整支持支持 Compose(插件)
可视化界面纯 CLI完整 GUI 面板可选第三方 GUI
企业费用免费$9~$24/人/月(商用)免费

完整实操示例

示例 1:快速搭建 Nginx 网页服务

纯文本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 拉取官方 Nginx 镜像
wslc pull nginx

# 后台启动容器,端口映射 8080
wslc run -d --name demo-nginx -p 8080:80 nginx

# Windows 浏览器访问 http://localhost:8080

# 查看运行状态
wslc ps

# 停止并清理
wslc stop demo-nginx
wslc rm demo-nginx

示例 2:交互式 Ubuntu 开发环境

纯文本

1
2
3
4
5
6
7
# 拉取 22.04 稳定版
wslc pull ubuntu:22.04

# 进入交互式终端,退出后容器自动销毁
wslc run --rm -it ubuntu:22.04 bash

# 容器内可执行 apt、Python、CUDA 推理等操作

示例 3:跑一个 Linux 桌面环境

纯文本

1
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,一个完整的 Linux KDE 桌面就跑起来了!

总结

WSLC 是什么:微软把容器运行时直接做进了 WSL 2 内核,无需 Docker Desktop 即可在 Windows 上构建、运行、管理 Linux 容器。

核心优势:免费、零额外安装、命令兼容 Docker、GPU 直通、资源占用低、文件 IO 性能翻倍。

适合谁:本地轻量开发、临时数据库/中间件容器、AI 推理环境、不想装重型容器客户端的用户。

不适合谁:需要 Docker Compose、K8s、可视化面板、企业集群管理的生产环境。

最佳实践:wslc + Docker Desktop 双工具共存,轻量任务用 wslc,复杂编排用 Docker,按需切换。