在 Windows Server 2019 上安装 Docker,官方推荐且最稳定的选择是 Docker Desktop for Windows(企业版/商业版)或 Docker Engine for Windows。
具体选择哪个版本,取决于你的使用场景(是开发测试还是生产环境)以及你对容器运行时(Moby vs. Hyper-V)的需求。以下是详细的选型建议:
1. 核心结论:推荐方案
-
首选方案(生产环境/服务器部署):Docker Engine (v24.x 或 v25.x)
- 理由:Windows Server 2019 是服务器操作系统,通常用于生产环境。Docker Engine 是轻量级的守护进程,不包含 Docker Desktop 的图形界面和额外工具,资源占用更低,稳定性更高,且完全支持 Windows 容器 和 Linux 容器(需配合 WSL2 或特定的配置)。
- 版本建议:目前最新稳定版通常是 v24.0.x 或 v25.0.x。请务必检查微软官方文档确认该版本是否完全兼容 Win Server 2019。
-
备选方案(开发/测试环境):Docker Desktop for Windows
- 注意:Docker Desktop 的免费许可证仅适用于个人学习、小规模团队(员工少于 250 人且年收入低于 1000 万美元)或非商业用途。如果是纯商业生产环境,必须购买 Docker Desktop 的商业许可证,否则存在合规风险。
- 优势:安装简单,自带 GUI,自动管理 WSL2 后端,适合快速构建开发环境。
2. 关键注意事项(非常重要)
在安装之前,必须明确以下技术限制和前置条件:
A. 容器模式的选择
Windows Server 2019 原生支持两种容器模式,Docker 版本选择需与此对应:
- Windows 容器:直接运行基于 Windows 内核的镜像(如
mcr.microsoft.com/windows/nanoserver)。这是 Win Server 2019 最原生的方式,性能最好。 - Linux 容器:运行 Linux 镜像(如
nginx,python)。- 在 Server 2019 上运行 Linux 容器,通常需要启用 WSL 2 (Windows Subsystem for Linux) 功能,或者使用较新的 Docker 版本配合 Moby 项目。
- 提示:如果你主要跑 Linux 容器,强烈建议考虑将系统升级到 Windows Server 2022 或 Windows Server 2025,因为它们对 WSL2 和 Linux 容器的支持更完善。
B. 版本兼容性矩阵
Docker 对操作系统的支持有严格的版本映射。对于 Windows Server 2019:
- Docker Engine 23.0+:通常要求更新的内核补丁。
- Docker Engine 24.0 / 25.0:目前主流支持版本。
- 旧版:不建议在 2019 上使用过旧的 Docker 版本(如 18.09 或更早),因为安全性已不再维护。
3. 安装步骤简述
方案一:安装 Docker Engine (推荐用于生产)
- 开启功能:以管理员身份运行 PowerShell,执行以下命令开启必要功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Enable-WindowsOptionalFeature -Online -FeatureName Containers Restart-Computer - 下载脚本:访问 Docker 官方 GitHub 仓库获取安装脚本(
install-docker.ps1)。 - 执行安装:
.install-docker.ps1脚本会自动检测系统并安装最新兼容版本的 Docker Engine。
- 验证:
docker run hello-world
方案二:安装 Docker Desktop
- 前往 Docker 官网下载页面。
- 下载 Docker Desktop for Windows 安装包。
- 确保系统中已安装 WSL 2 和 Hyper-V 组件。
- 运行安装程序,按照向导完成安装并重启。
总结建议
- 如果你的目标是生产环境且主要运行 Windows 容器:请安装 Docker Engine (v24.x 或 v25.x)。
- 如果你的目标是开发测试或需要运行 Linux 容器:
- 若预算允许且符合许可协议:安装 Docker Desktop。
- 若追求极致性能且熟悉命令行:尝试安装 Docker Engine 并配置 WSL2 后端。
- 长期规划:如果可能,建议评估升级到 Windows Server 2022,它对现代 Docker 版本(特别是 Linux 容器支持)有更好的原生支持,能减少很多配置麻烦。
CLOUD技术博