在 Windows Server 2025 上安装 WSL(Windows Subsystem for Linux)和 Docker 是一个相对直接的过程,但需要注意几个关键点,特别是关于WSL 版本和Docker Desktop 的兼容性。
以下是详细、分步的安装指南:
✅ 前提条件
- 操作系统:Windows Server 2025(建议启用图形界面或至少具备 PowerShell 访问权限)。
- 虚拟化支持:确保 BIOS/UEFI 中已启用 Intel VT-x 或 AMD-V(虚拟化技术)。
- 管理员权限:所有命令需以管理员身份运行。
🚀 第一步:安装 WSL
WSL 是运行 Linux 容器和应用程序的基础。推荐使用 WSL 2,它提供完整的 Linux 内核和功能。
方法一:使用命令行快速安装(推荐)
- 打开 PowerShell 或 命令提示符,以管理员身份运行。
- 输入以下命令并回车:
wsl --install
💡 此命令会自动:
- 启用必要的 Windows 功能(如虚拟机平台、WSL)
- 下载并安装默认 Linux 发行版(通常是 Ubuntu)
- 重启系统(必须重启才能生效)
-
重启电脑。
-
重启后,首次启动 WSL 时,系统会提示你创建 Linux 用户名和密码。请设置一个非 root 用户(例如
admin),密码可设为简单以便测试。
方法二:手动指定发行版(可选)
如果你想安装特定 Linux 发行版(如 Ubuntu 22.04、Debian 等):
# 查看可用发行版
wsl --list --online
# 安装指定发行版(例如 Ubuntu 22.04)
wsl --install -d Ubuntu-22.04
🐳 第二步:安装 Docker
在 Windows 上,有两种主要方式运行 Docker:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| Docker Desktop | GUI + CLI,集成 WSL 2 后端 | 开发环境、测试、小型部署 |
| Docker Engine(Linux 模式) | 仅 CLI,直接在 WSL 2 中运行 Linux 版 Docker | 生产环境、无头服务器、高性能需求 |
⚠️ 重要提示:
- Docker Desktop for Windows 需要 WSL 2 后端,且对 Windows Server 的支持有限(官方主要面向 Windows 10/11 Pro/Enterprise)。
- Windows Server 2025 更推荐使用“Docker Engine in WSL 2”,即直接在 WSL 中安装原生 Linux Docker,性能更好、资源占用更少、更符合生产实践。
✅ 推荐方案:在 WSL 2 中安装 Docker Engine(Linux 版)
这是最稳定、最高效的方式,尤其适合 Windows Server 环境。
步骤 1:进入 WSL 终端
wsl
你会看到类似 [user@hostname:~]$ 的提示,表示已进入 Linux 环境。
步骤 2:更新包管理器
sudo apt update && sudo apt upgrade -y
步骤 3:安装依赖项
sudo apt install -y ca-certificates curl gnupg lsb-release
步骤 4:添加 Docker 官方 GPG 密钥和仓库
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
💡 注意:如果你的 WSL 发行版不是 Ubuntu,请将
ubuntu替换为debian、kali等对应名称,并确保使用正确的代码名(如jammy对应 22.04)。
步骤 5:安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
步骤 6:验证安装
sudo docker run hello-world
如果输出包含 “Hello from Docker!”,则安装成功!
步骤 7:允许非 root 用户使用 Docker(可选但推荐)
sudo groupadd docker
sudo usermod -aG docker $USER
🔁 注销并重新登录 WSL 使组更改生效:
exit wsl
然后测试:
docker ps
无需 sudo 即可运行 Docker 命令。
🖥️ 替代方案:安装 Docker Desktop(仅限开发测试)
如果你希望使用图形界面或集成工具链:
- 下载 Docker Desktop for Windows:https://www.docker.com/products/docker-desktop/
- 安装时选择 “Use WSL 2 instead of Hyper-V”。
- 启动 Docker Desktop,它会通过 WSL 2 后端运行。
⚠️ 注意:
- Docker Desktop 在 Windows Server 上可能不被官方完全支持。
- 许可证问题:Docker Desktop 对个人和小企业免费,但对大型企业可能需要付费订阅。
- 资源开销较大,不适合生产服务器。
🔧 配置优化(可选)
1. 设置 Docker 开机自启(WSL 中)
sudo systemctl enable docker
sudo systemctl start docker
2. 配置 Docker 镜像提速器(国内用户推荐)
编辑 /etc/docker/daemon.json:
sudo nano /etc/docker/daemon.json
添加以下内容(以阿里云为例):
{
"registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
}
保存后重启 Docker:
sudo systemctl restart docker
❓ 常见问题排查
| 问题 | 解决方案 |
|---|---|
wsl --install 报错 |
确保系统版本 ≥ Windows Server 2022,且启用虚拟化 |
| Docker 无法启动 | 检查 WSL 是否正常运行:wsl;检查 Docker 服务状态:sudo systemctl status docker |
| 权限拒绝 | 确保用户已加入 docker 组,并重新登录 |
| 网络不通 | 检查防火墙规则;尝试 sudo iptables -F(临时测试) |
✅ 总结
| 步骤 | 操作 |
|---|---|
| 1 | 以管理员身份运行 wsl --install,重启 |
| 2 | 进入 WSL,安装 Ubuntu 或其他发行版 |
| 3 | 在 WSL 中按官方文档安装 Docker Engine |
| 4 | 将当前用户加入 docker 组,测试 docker run hello-world |
| 5 | (可选)配置镜像提速器和自启动 |
这种方式充分利用了 WSL 2 的性能优势,避免了 Docker Desktop 的资源开销和许可限制,是 Windows Server 2025 上运行容器的最佳实践。
如有具体问题,欢迎继续提问!
云知识CLOUD