在 Windows Server 2019 上安装 Docker,推荐使用 Docker Enterprise Edition (Docker EE) 或通过 Microsoft 的容器功能配合 Docker-Microsoft PowerShell Module 安装,而不是直接使用 Docker Desktop(Docker Desktop 不支持 Windows Server 2019)。
以下是详细说明:
✅ 支持的 Docker 版本(适用于 Windows Server 2019)
-
Docker EE for Windows Server(已归档)
- Docker 曾为 Windows Server 提供 Docker Enterprise Edition (EE)。
- 可通过 PowerShell 模块安装。
- 当前已归档(Docker 不再积极维护 Windows Server 版本),但仍可在生产环境中使用。
- 支持的版本示例:
- Docker 18.09
- Docker 19.03
- 最高支持到 Docker 20.10.x(社区版也支持)
-
社区版(Docker CE)通过脚本安装(非官方支持)
- 虽然 Docker CE 官方不正式支持 Windows Server,但可以通过社区脚本安装。
- 推荐使用 Microsoft 提供的容器基础镜像和功能。
✅ 推荐安装方式(官方推荐)
使用 PowerShell 安装 Docker(通过 Microsoft 容器包)
# 1. 安装容器功能
Install-WindowsFeature -Name Containers
# 2. 重启服务器
Restart-Computer -Force
# 3. 安装 PowerShell 模块(Docker Provider)
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 4. 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 5. 再次重启
Restart-Computer -Force
这种方式安装的是 Docker Engine,版本由 Microsoft 维护,通常为稳定版(如 19.03 或 20.10)。
✅ 查看当前 Docker 版本
docker --version
# 示例输出:Docker version 20.10.17, build 100c701
✅ 注意事项
- Docker Desktop 不支持 Windows Server 2019,仅支持 Windows 10/11 Pro 或 Enterprise。
- 推荐使用 Windows Server 2019 with Desktop Experience 以获得更好的兼容性。
- 支持运行 Windows 容器(如
mcr.microsoft.com/windows/servercore),不支持 Linux 容器(除非启用 WSL2,但 WSL2 不支持 Server 2019)。 - 若需编排,可搭配 Kubernetes 或使用 Docker Swarm(已逐步淘汰)。
✅ 更新 Docker
# 检查更新
Update-Package -Name docker -ProviderName DockerMsftProvider
# 重启
Restart-Computer -Force
✅ 替代方案(推荐现代环境)
如果可能,建议:
- 升级到 Windows Server 2022,对容器支持更好。
- 使用 Microsoft Container Studio 或 Azure Kubernetes Service (AKS)。
- 使用 Podman for Windows(无守护进程,轻量替代)。
总结
| 项目 | 推荐 |
|---|---|
| Docker 版本 | 20.10.x(通过 DockerMsftProvider 安装) |
| 安装方式 | PowerShell(Install-Package -Name docker) |
| 支持状态 | 有限支持(Docker 已停止积极开发 Windows 版) |
| 是否推荐用于生产 | ✅ 可用于运行 Windows 容器,但建议评估迁移到 Kubernetes |
如需长期维护,建议考虑迁移到基于 Linux 的容器平台或使用 Azure Container Instances (ACI) / AKS 等云原生方案。
CDNK博客