在 Windows Server 2025 上安装 WSL (Windows Subsystem for Linux) 和 Docker 是一个相对直接的过程,但需要注意 Docker Desktop 与 WSL 2 的依赖关系。
以下是完整的操作指南,分为前置条件检查、WSL 安装配置、Docker 安装以及验证步骤。
⚠️ 重要前提:版本与许可
- 操作系统版本:请确保您的 Windows Server 2025 是 Server Core 还是 Desktop Experience(桌面体验)版。
- Desktop Experience:推荐,拥有图形界面,操作更直观。
- Server Core:可以通过命令行完成所有操作,但无法运行 Docker Desktop 的 GUI 管理界面(只能使用 CLI)。
- 虚拟化支持:WSL 2 需要硬件虚拟化支持(VT-x/AMD-V),并在 BIOS 中开启。请在 PowerShell 中运行
systeminfo查看“虚拟机平台”状态。 - 权限:所有操作需以 Administrator(管理员) 身份运行。
第一步:启用必要的 Windows 功能并安装 WSL
在 Windows Server 2025 中,通常不需要单独下载内核,只需启用功能即可。
- 打开 PowerShell (管理员)。
- 运行以下命令启用 WSL 和虚拟机平台功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart - 重启服务器:
必须重启才能使更改生效。Restart-Computer
第二步:设置默认 WSL 版本为 2
重启后,再次以管理员身份打开 PowerShell,将 WSL 2 设为默认版本:
wsl --set-default-version 2
第三步:安装 Linux 发行版
你需要先安装一个 Linux 发行版(如 Ubuntu),Docker 才能在其中运行。
- 在 Microsoft Store 中搜索并安装 Ubuntu(例如 Ubuntu 22.04 LTS 或 24.04 LTS)。
- 注意:如果是在 Server Core 环境且没有安装 Microsoft Store,可以使用命令行安装:
wsl --install -d Ubuntu-22.04
- 注意:如果是在 Server Core 环境且没有安装 Microsoft Store,可以使用命令行安装:
- 安装完成后,启动该发行版:
wsl -d Ubuntu-22.04 - 首次初始化:系统会提示你创建用户名和密码。请记住这个密码,后续用于
sudo操作。 - 更新系统(在 WSL 终端内执行):
sudo apt update && sudo apt upgrade -y
第四步:安装 Docker Engine (推荐方式)
在 WSL 环境中,最佳实践是将 Docker 安装在 Linux 子系统内部(WSL 2 后端),而不是 Windows 宿主机上。这样性能更好且配置更简单。
方法 A:使用官方脚本(最简单)
在刚安装的 WSL (Ubuntu) 终端 中运行以下命令,它会自动安装 Docker Engine 和 Docker Compose:
curl -fsSL https://get.docker.com | sh
安装完成后,将当前用户添加到 docker 组,以便无需 sudo 即可运行 docker 命令:
sudo usermod -aG docker $USER
# 退出并重新登录以使组权限生效
exit
(重新进入 wsl -d Ubuntu-22.04 即可)
方法 B:手动安装(适合严格管控环境)
如果你不能运行 curl 脚本,可以按以下步骤手动安装:
- 添加 Docker 官方 GPG 密钥和仓库:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装 Docker:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - 启动服务并设置开机自启:
sudo systemctl enable docker sudo systemctl start docker
第五步:(可选) 安装 Docker Desktop (GUI 管理)
如果你使用的是 Windows Server Desktop Experience 版本,并且希望使用图形化管理界面:
- 前往 Docker 官网下载页面。
- 下载 Docker Desktop for Windows。
- 注意:Windows Server 版的 Docker Desktop 有时对版本有限制,如果官方商店不可用,可能需要尝试企业版或特定版本的安装包。
- 安装时选择 "Use WSL 2 instead of Hyper-V"。
- 安装完成后,Docker Desktop 会自动连接到你在 WSL 中安装的 Docker Engine。
建议:对于生产环境的 Windows Server,通常不推荐安装 Docker Desktop 的 GUI,而是直接使用 WSL + Docker Engine CLI 的方式,这样更轻量、更安全且资源占用更少。
第六步:验证安装
1. 验证 WSL
wsl --list --verbose
你应该能看到你的 Linux 发行版,且状态为 Running,版本为 2。
2. 验证 Docker
进入 WSL 终端 (wsl),运行:
docker --version
docker run hello-world
如果看到欢迎信息,说明安装成功。
3. 验证从 Windows 调用 WSL 中的 Docker
你可以直接从 Windows PowerShell 调用 WSL 里的 Docker:
wsl docker --version
或者直接在 WSL 里运行容器,然后在 Windows 宿主机通过端口映射访问。
常见问题排查
- 错误:WSL 2 不支持此版本
- 原因:可能是 BIOS 未开启虚拟化,或者 Windows 版本过旧(Server 2025 通常没问题,但需确认更新到最新补丁)。
- Docker 无法启动
- 在 WSL 中运行
sudo systemctl status docker查看日志。 - 确保
/var/run/docker.sock存在。
- 在 WSL 中运行
- 网络问题
- 如果容器无法联网,尝试在 WSL 配置文件中修改 DNS,或在 Windows 防火墙中允许相关规则。
通过以上步骤,你的 Windows Server 2025 已经拥有了现代化的容器开发环境。
CLOUD技术博