在 Windows Server 上运行 Docker,官方并不推荐使用 Docker Desktop。
这是因为 Docker Desktop 是专为 Windows 10/11 和 macOS 设计的桌面级应用,它依赖 Hyper-V 或 WSL2 等特定的桌面环境组件,这些组件通常无法在 Windows Server 操作系统上正常安装或运行(即使强行安装,也缺乏官方支持且容易遇到兼容性问题)。
✅ 推荐方案:使用 Docker Engine for Windows
在 Windows Server 上,你应该直接安装 Docker Engine (Community Edition)。这是微软和 Docker 官方在服务器端环境下的标准部署方式。
具体步骤如下:
- 确认系统要求:确保你的 Windows Server 版本(如 Server 2019, 2022)已启用容器功能。
- 可以通过 PowerShell 运行以下命令启用容器角色:
Install-WindowsFeature -Name Containers -IncludeManagementTools
- 可以通过 PowerShell 运行以下命令启用容器角色:
- 下载并安装 Docker Engine:
- 访问 Docker 官方文档的 "Install on Windows Server" 页面。
- 根据你的 Windows Server 版本下载对应的 MSI 安装包(例如
docker-<version>.msi)。 - 运行安装程序,它会自动配置 Docker 守护进程、CLI 工具以及必要的网络组件。
- 验证安装:
- 安装完成后,打开 PowerShell 运行:
docker run hello-world - 如果看到欢迎信息,说明安装成功。
- 安装完成后,打开 PowerShell 运行:
💡 为什么不要勉强用 Docker Desktop?
- 架构差异:Docker Desktop 是为交互式桌面体验设计的,而 Windows Server 更侧重于无头(Headless)或远程管理场景。
- 资源占用:Docker Desktop 会启动额外的图形界面进程和服务,这在生产环境的服务器上是不必要的开销。
- 稳定性与支持:微软和 Docker 对 Docker Engine in Windows Server 有明确的 SLA 和支持路径,而对 Docker Desktop 在 Server 上的运行不提供保障。
总结
| 平台 | 推荐工具 | 备注 |
|---|---|---|
| Windows 10 / 11 | Docker Desktop | 包含 GUI,适合开发调试 |
| Windows Server | Docker Engine | 命令行驱动,轻量稳定,唯一推荐 |
如果你需要在 Windows Server 上进行图形化管理,建议通过 Docker Compose 编写配置文件,或者使用 Portainer(一个开源的 Docker 管理 UI)来辅助运维,而不是安装 Docker Desktop。
云小栈