在 Windows Server 2019 上安装 Docker,必须使用支持“Windows 容器”(Windows Containers)的特定版本。Docker Desktop(适用于个人开发者的免费版本)不支持服务器操作系统,因此不能直接安装在 Server 2019 上。
你需要选择 Docker Enterprise Edition (Docker EE) 或 Docker Engine for Windows Server。以下是具体的选择建议和版本对应关系:
1. 核心推荐方案
对于生产环境或服务器部署,官方推荐且最稳定的方案是:
- Docker Engine for Windows Server(以前称为 Docker EE)。
- 版本要求:建议安装 Docker Engine 23.x 或 24.x(具体取决于你的补丁级别),但必须确保该版本明确标注支持 Windows Server 2019。
注意:从 Docker 20.10 开始,Docker 将企业版和社区版合并为统一的
Docker CE(Community Edition),但在 Windows Server 上,你下载的安装包通常被称为 "Docker Engine for Windows" 或直接在官网下载 Windows Server 版本的 MSI 安装包。
2. 具体版本兼容性表
根据微软和 Docker 的官方文档,以下版本组合是经过验证的:
| Docker 版本 | 适用场景 | 备注 |
|---|---|---|
| Docker 24.0.x | 推荐 | 最新长期支持版,对 WinSrv 2019 支持良好。 |
| Docker 23.0.x | 稳定 | 非常成熟,适合追求极致稳定的生产环境。 |
| Docker 20.10.x | 旧系统 | 如果服务器无法更新到较新的 .NET 运行库,可考虑此版本,但不建议用于新项目。 |
重要提示:不要尝试安装 Docker Desktop (如 4.x 版本),它在 Server 2019 上无法启动或功能受限。
3. 安装前的关键前置条件
在 Windows Server 2019 上成功运行 Docker,必须完成以下步骤,否则安装后无法运行容器:
-
启用 Hyper-V 角色:
- 打开 PowerShell (管理员) 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All - 重启服务器。
- 打开 PowerShell (管理员) 并运行:
-
开启内核模式虚拟化:
- 在 BIOS/UEFI 中确保 VT-x / AMD-V 已开启。
-
安装必要的更新:
- 确保 Windows Server 2019 安装了最新的累积更新(Cumulative Update),特别是与 .NET Framework 相关的更新。
-
配置网络:
- Docker 默认使用 NAT 网络,如果需要在服务器上暴露端口,需提前规划好防火墙规则。
4. 安装步骤简述
- 访问 Docker 官网下载页面(通常路径为:Docker Hub -> Docker Engine -> Install on Windows Server)。
- 下载
.msi安装包(例如docker-24.0.7-x64.msi)。 - 双击运行安装程序。
- 安装完成后,在 PowerShell 中运行
docker version验证安装。 - 测试运行:
docker run hello-world # 注意:这里需要拉取的是 Windows 镜像,而不是 Linux 镜像
总结
在 Windows Server 2019 上,请下载安装 Docker Engine 23.x 或 24.x 的 Windows Server 专用 MSI 安装包。切勿使用 Docker Desktop。如果你是在进行纯开发测试且可以接受虚拟机隔离,也可以考虑在 Server 2019 上安装一个 Linux 虚拟机(如 Ubuntu),然后在里面运行标准的 Docker Desktop,但这会增加资源开销。
云服务器