在 Windows Server 2025 Standard 上安装 Docker 是完全可行的,且官方支持良好。由于 Windows Server 2025 基于较新的 Windows 内核,推荐使用 Docker Desktop for Windows(适用于桌面/服务器环境)或 Docker Engine via WSL 2。
以下是两种主流安装方式的详细步骤:
✅ 推荐方式一:使用 Docker Desktop for Windows(图形化界面,适合大多数场景)
这是最简单、最稳定的方式,尤其适合初学者或非 Linux 原生依赖极强的工作负载。
前置要求
-
启用 Hyper-V 和 Containers 功能
- 打开 PowerShell(管理员),运行:
Install-WindowsFeature -Name Hyper-V,Containers -IncludeManagementTools - 重启服务器。
- 打开 PowerShell(管理员),运行:
-
启用 WSL 2(Windows Subsystem for Linux)
- Docker Desktop 在 Windows 上底层依赖 WSL 2。
- 在 PowerShell(管理员)中运行:
wsl --install - 如果已安装 WSL,确保版本为 WSL 2:
wsl --set-default-version 2 - 重启服务器。
-
下载 Docker Desktop
- 访问 Docker Hub 下载最新版的
Docker Desktop for Windows。 - 注意:选择 Stable 版本,并确保你的 Windows Server 2025 符合系统要求(通常需专业版/企业版授权,但服务器版也可通过修改注册表或使用特定镜像绕过部分检查)。
- 访问 Docker Hub 下载最新版的
-
安装并配置
- 运行安装程序,勾选 "Use WSL 2 instead of Hyper-V"(推荐)。
- 安装完成后启动 Docker Desktop。
- 首次启动可能需要登录 Docker Hub 账户(免费即可)。
- 等待引擎初始化完成,状态栏显示绿色图标即表示成功。
-
验证安装
- 打开 PowerShell 或 CMD,运行:
docker version docker run hello-world
- 打开 PowerShell 或 CMD,运行:
⚠️ 注意:Docker Desktop 是免费用于个人学习、开发和小型团队(<5人),商业用途需注意许可证条款。若用于生产环境且希望避免许可限制,请考虑方式二。
✅ 推荐方式二:使用 Docker Engine + WSL 2(无 GUI,适合生产/自动化部署)
如果你不需要图形界面,或希望在纯命令行环境下运行 Docker,可以使用微软推荐的 Docker Engine on WSL 2 方式。
步骤 1:确保 WSL 2 已正确配置
wsl --update
wsl --set-default-version 2
步骤 2:安装 Ubuntu 发行版(作为 Docker 宿主)
wsl --install -d Ubuntu
- 启动 Ubuntu:
wsl - 设置用户名和密码。
步骤 3:在 WSL 2 的 Ubuntu 中安装 Docker Engine
进入 Ubuntu 终端后,执行以下命令:
# 更新包索引
sudo apt update
# 安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
# 添加 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
# 再次更新并安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
newgrp docker
步骤 4:测试 Docker
docker run hello-world
步骤 5:从 Windows 主机访问 Docker(可选)
你可以直接在 Windows PowerShell 中使用 docker 命令,因为 Docker Desktop 或 WSL 集成会自动暴露 socket。
或者,手动创建符号链接(如果需要):
# 在 Windows PowerShell 中运行
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE.dockercli-plugins" -Target "\wsl$Ubuntuhome$env:USERNAME.dockercli-plugins" -Force
🔧 常见问题与优化建议
| 问题 | 解决方案 |
|---|---|
| Docker 启动慢 | 确保 BIOS 中启用了虚拟化技术(VT-x/AMD-V);禁用杀毒软件实时扫描对 Docker 目录的影响。 |
| WSL 2 内存占用高 | 编辑 %USERPROFILE%.wslconfig 文件,限制内存:[wsl2]<br>memory=4GB<br>swap=2GB |
| 网络不通 | 检查防火墙规则;尝试重启 Docker 服务或 WSL:wsl --shutdown 然后重新启动。 |
| 性能优化 | 将项目代码挂载到 WSL 文件系统内(而非 Windows 挂载点),可显著提升 I/O 性能。 |
📌 总结建议
- 开发/测试环境 → 使用 Docker Desktop for Windows,体验最佳。
- 生产/轻量级服务器 → 使用 Docker Engine on WSL 2,资源开销更小,更符合 Linux 原生习惯。
- 避免使用传统 Hyper-V 容器模式:除非你有遗留应用必须运行 Windows 容器,否则优先使用 Linux 容器(WSL 2 默认就是 Linux 容器)。
如需进一步帮助(如配置持久化存储、网络桥接等),欢迎继续提问!
轻量云Cloud