banner
About 2,100 words
7 minutes

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

Summary

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

前言

想体验 Docker 容器的乐趣,但手头既没有 NAS,也没有一台能长期开机的 VPS?其实很多人忽略了一个现成的"服务器"——就是手头这台 Windows 电脑。

前两天我试用了一下微软新发布的 WSLC(WSL for Cloud,新一代容器版 WSL)跑 docker,确实解决了内存占用的问题。但这个应用还处在初级阶段:只能装在 Windows 11 上、不支持可视化面板、也不支持 docker compose,对我来说还不太可用。所以我装回了原版 WSL

WSL 本质上是 Hyper-V 虚拟机,可以跑完整的 Linux 系统,功能没有被阉割。也就是说,你完全可以把它当成一台"常驻的迷你 Linux 服务器"来用:跑 Docker、开服务、做实验,甚至配合内网穿透在公网访问。这篇就把完整流程走一遍。

前置条件

动手前先确认两件事:

  1. 检查是否开启了虚拟化:打开任务管理器 → 性能,看"虚拟化"是否显示已开启。如果没有,需要重启进 BIOS,找到 Intel VT-x / AMD SVM 之类的选项开启。

    blog image
  2. 网络:WSL 安装和后续拉取 Linux 系统需要联网。这一步我看到很多小伙伴会遇到问题,但通常需要自己想办法解决(比如检查代理设置),这里就不展开。

安装 WSL 和 Debian

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

    Plain Text
    wsl --install -d Debian --name debian --location c:/wsl/debian
    • --name debian:给这个虚拟机起个名

    • --location c:/wsl/debian:指定它存放的位置(避免默认占满 C 盘)

    运行命令后,系统会先安装 WSL,中途会要求你输入新建的用户名和密码,完成后会自动进入这个 Linux 环境。

    blog image
  2. 退出虚拟机,输入 exit

    blog image
  3. 查看当前有哪些虚拟机,输入 wsl -l

    blog image
  4. 查看可以安装哪些 Linux 系统,输入 wsl -l -o。除了 Debian,你也可以装 Ubuntu 等其他系统。

    blog image
  5. 想启动后直接进入用户目录,输入 wsl ~ 即可。

    blog image
  6. 关闭整个 WSL 虚拟机,用 wsl --shutdown(注意这会把所有发行版都停掉)。

  7. 设置虚拟机资源:打开 WSL 的设置面板(新版支持 .wslconfig 或图形设置),可以调整 CPU 数量、内存大小、硬盘大小,按你电脑的实际配置分配即可。

    blog image
  8. 重点:改网络模式。把网络模式改成 mirrored(镜像),同时勾选"主机地址环回"。这样就能直接用本机的 IP 地址来访问 Docker 容器了,不用再管 WSL 内部的 IP 映射,省很多事。

    blog image
  9. 删除某个虚拟机(比如 debian),用 wsl --unregister debian

  10. 彻底卸载 WSL,用 wsl --uninstall

可视化:装个 WSL Dashboard

纯命令行的 WSL 要记很多命令,尤其是跑多个发行版时,管理起来有点麻烦——备份、自启动这些功能都要敲复杂的指令。不想记命令的话,可以装这个开源项目 WSL Dashboard。项目地址:https://github.com/owu/wsl-dashboard/

blog image

它支持一键安装、列出、启动、停止、取消注册,并且能从一个地方统一配置你的各个 WSL 发行版,把最麻烦的管理操作都变成了点按钮。

把它当服务器用起来

WSL 本质是一个虚拟机里的 Linux 系统,所以照服务器的配置方法设置就可以了。下面列一些必备的基础设置:

  1. 安装 curl 工具

    Plain Text
    sudo -i
    apt update
    apt install curl -y

    blog image
  2. 换国内软件源(不然 apt 下载慢):

    Plain Text
    bash <(curl -sSL https://linuxmirrors.cn/main.sh)

    blog image
  3. 安装 Docker

    Plain Text
    bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

    blog image
  4. 开启 SSH,方便从外面连进来管理:

    Plain Text
    apt update
    apt install openssh-server -y
  5. 安装一个面板,让 Linux 操作更顺手。1panel、宝塔都可以,我自己装的是 KPanel

    Plain Text
    bash <(curl -sL kejilion.sh) app kpanel

    blog image
  6. 如果应用无法从局域网其他设备打开,可能是 Hyper-V 虚拟机的防火墙挡住了。用 PowerShell 管理员权限运行下面的命令,放行默认入站:

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

    blog image

小结

走到这一步,你的 WSL 服务器就基本配置完成了,功能相当齐全。配合 WSL Dashboard,开机自启、目录访问这些原本很麻烦的操作都变得很轻松;再配合内网穿透,就能在公网访问跑在本地 WSL 里的应用了。这套方案非常适合没有 NAS 或 VPS 的小伙伴用来学习 Docker、体验自托管,毕竟——你手头这台 Windows 电脑,本身就是一台随时可用的"服务器"。

END