在 Windows Server 2025 上部署容器应用时,不建议直接使用传统意义上的“Docker Desktop”或旧版 Docker Engine for Windows。
Windows Server 2025(作为 Windows Server 2022 的后续版本)原生集成了基于 Moby 和 containerd 的容器运行时环境,其架构与 Linux 容器更趋同。微软官方推荐的部署方式是使用 Windows Container 原生支持,而不是通过传统的 Docker CLI/Daemon 组合。
具体建议如下:
1. 首选方案:使用 Windows 内置的容器运行时
Windows Server 2025 默认已安装并启用 Container Feature,其底层由 containerd 驱动,并通过 Docker CLI 兼容层 进行管理。你可以通过以下方式操作:
- 无需单独安装 Docker Engine:系统自带了必要的运行时组件。
- 使用
docker.exe(CLI):从 Microsoft 官网下载对应版本的 Docker CLI for Windows(注意:是仅包含客户端工具,不包含 daemon)。该 CLI 可以连接到本地运行在 containerd 上的容器引擎。 - 推荐版本:选择与你的 Windows Server 2025 构建号匹配的最新版 Docker CLI(通常随 Windows Update 自动更新,或从 Docker Hub 获取最新稳定版,如 v28.x+)。
✅ 正确做法:
安装 Docker CLI → 配置其连接至本地npipe或tcp端点(由 system 自带的 containerd 提供)→ 执行docker run等命令。
2. 不推荐的做法
- ❌ 安装 Docker Desktop:这是为 Windows 10/11 设计的桌面应用,依赖 Hyper-V 或 WSL2,不适用于服务器生产环境。
- ❌ 安装旧版 Docker Engine for Windows(如 Docker CE 19.03~24.0):这些版本基于 legacy dockerd,已被微软弃用,且无法充分利用 Windows Server 2025 的新特性(如 gMSA、Seccomp 改进等)。
3. 验证与最佳实践
- 确保已启用容器功能:
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All Restart-Computer - 检查容器运行时状态:
Get-Service -Name "hns" "netsh" "docker*" | Select-Object Name, Status - 使用
docker version确认 CLI 能正常通信(即使没有独立 daemon 进程)。
总结
| 项目 | 推荐做法 |
|---|---|
| 运行时 | Windows Server 2025 内置的 containerd + Moby |
| 管理工具 | 最新版的 Docker CLI for Windows(非 Docker Desktop) |
| 镜像格式 | Windows Server Core / Nano Server 或 Linux 容器(若启用 WSL2 模式,但生产环境慎用) |
| 文档参考 | Microsoft Docs: Run containers on Windows Server |
因此,在 Windows Server 2025 上,不要寻找“Docker 版本”,而应聚焦于安装最新的 Docker CLI 并与系统内置容器引擎协同工作。
CLOUD云枢