在 Windows Server 2025 上安装 WSL (Windows Subsystem for Linux) 和 Docker 是一个相对直接的过程,但需要注意 Server 版本对图形界面(GUI)的依赖以及内核更新的要求。
以下是完整的分步指南:
前置条件与准备
- 启用虚拟化:确保 BIOS/UEFI 中已开启 CPU 虚拟化技术(Intel VT-x / AMD-V)。
- 系统更新:运行
Windows Update确保系统为最新状态,特别是针对 WSL 的内核组件。 - 管理员权限:所有操作需在以管理员身份运行的 PowerShell 或 CMD 中进行。
- WSL 版本:Windows Server 2025 默认支持 WSL 2,这是推荐版本,因为它提供了完整的 Linux 内核功能,是运行 Docker 所必需的。
第一步:启用 WSL 功能并安装默认发行版
Windows Server 2025 通常不需要单独下载 ISO,可以通过命令行一键完成。
-
打开 PowerShell (管理员)。
-
输入以下命令启用必要的功能和安装默认的 Ubuntu 发行版(如果未安装):
wsl --install注意:此命令会自动下载并安装 WSL 2 内核、启用虚拟平台功能,并设置默认发行版(通常是 Ubuntu)。
-
重启服务器:
安装完成后,必须重启服务器才能生效:Restart-Computer -
初始化 Linux 环境:
重启后,系统会启动一个终端窗口要求你创建新的 Linux 用户名和密码。- 输入任意用户名(例如
admin)。 - 输入密码(输入时不会显示字符)。
- 确认密码。
- 输入任意用户名(例如
-
验证 WSL 状态:
再次打开 PowerShell,输入以下命令确认版本:wsl -l -v确保你的发行版状态显示为
Running且版本为2。如果不是 2,可以手动转换:wsl --set-version <发行版名称> 2
第二步:安装 Docker Desktop (推荐方式)
在 Windows 上,最稳定且易于管理的方式是安装 Docker Desktop。它会自动配置 WSL 2 后端。
方案 A:使用 Microsoft Store (如果服务器启用了 GUI 和 Store)
如果你的 Windows Server 2025 安装了桌面体验(Desktop Experience)并且能访问 Microsoft Store:
- 打开 Microsoft Store。
- 搜索 Docker Desktop。
- 点击 获取 进行安装。
- 安装完成后启动 Docker Desktop。首次启动时,它会提示安装 WSL 2 后端(如果尚未配置),请同意并等待其自动完成。
方案 B:离线安装 (适用于无网或纯命令行环境)
如果服务器没有连接互联网或无法使用 Store,请下载 .msi 安装包。
- 前往 Docker 官方发布页面下载适用于 Windows 的安装包(文件名类似
Docker%20Desktop%20Installer.exe)。- 提示:由于 Server 2025 较新,请确保下载的是最新版,它已原生支持 WSL 2。
- 将安装包复制到服务器。
- 双击运行安装程序。
- 关键步骤:在安装向导中,务必勾选 "Use WSL 2 instead of Hyper-V"(使用 WSL 2 而不是 Hyper-V)。
- 即使你已经安装了 WSL,这一步也至关重要,因为 Docker Desktop 需要配置 WSL 集成。
- 完成安装并重启电脑。
第三步:验证 Docker 安装
安装完成后,我们需要验证 Docker 是否正在通过 WSL 2 运行。
-
打开 PowerShell (管理员)。
-
运行以下命令检查 Docker 版本:
docker --version输出应类似:
Docker version 27.x.x, build ... -
运行一个简单的测试容器(Hello World):
docker run hello-world如果看到 "Hello from Docker!" 的消息流,说明安装成功。
-
检查后端类型:
你可以查看 Docker 的系统信息来确认它使用的是 WSL 2:docker info | findstr "Server Version" # 或者更详细地查看运行时信息 docker system info | findstr "Runtimes"通常你会看到
runc或nvidia-container-runtime等,这表示 Docker Engine 正在运行。要确认底层是 WSL 2,可以在 PowerShell 中输入:wsl -d docker-desktop -e echo "Docker is running on WSL2 backend"
常见问题与注意事项
-
资源限制:Windows Server 2025 默认可能限制 WSL 2 的内存使用量。如果容器构建缓慢或报错内存不足,可以在
%USERPROFILE%.wslconfig文件中调整配置:[wsl2] memory=8GB swap=4GB processors=4修改后需执行
wsl --shutdown重启 WSL 服务。 -
文件路径性能:
- 不要在 WSL 内部挂载 Windows 文件系统(如
/mnt/c)进行频繁的文件写入操作(如编译代码),这会显著降低性能。 - 最佳实践:将项目代码放在 WSL 内部的 Linux 目录(如
/home/user/project)中,或者使用 WSL 2 的文件系统缓存优化。
- 不要在 WSL 内部挂载 Windows 文件系统(如
-
网络问题:
如果 Docker 无法拉取镜像,可能是 DNS 解析问题。可以在 WSL 的/etc/resolv.conf中手动指定公共 DNS(如8.8.8.8),或者在 Docker Desktop 设置中调整网络模式。 -
Headless 模式:
如果你是在没有图形界面的核心版(Core)服务器上操作,Docker Desktop 可能无法启动图形化界面。在这种情况下,建议仅安装 Docker Engine 而非 Docker Desktop。- 安装 Docker Engine 的命令(需先添加 Docker 仓库):
# 示例:添加 Docker 官方 GPG 密钥和存储库(具体取决于微软提供的脚本) # 对于 Server 2025,通常推荐使用 winget 安装: winget install Docker.DockerDesktop如果 Winget 不可用,可能需要通过脚本安装 Docker Engine for Windows,但这通常需要配合 WSL 2 作为后端。
- 安装 Docker Engine 的命令(需先添加 Docker 仓库):
通过以上步骤,你的 Windows Server 2025 应该已经成功集成了 WSL 2 和 Docker 环境,可以开始部署容器化应用了。
CLOUD云计算