Windows Server 2019 原生支持 Docker Desktop for Windows(用于开发环境)以及 Docker EE/CE(企业版/社区版,通常作为 Docker Engine 在服务器端运行)。
具体的版本对应关系如下:
1. 推荐的生产/服务器版本
在 Windows Server 2019 上,最稳定且官方推荐的 Docker 引擎版本是 Docker Engine 20.10.x 系列(具体取决于补丁更新情况,通常最新稳定版为 20.10.24 或更高,视微软更新通道而定)。
- 架构要求:必须使用 x64 (AMD64) 架构。
- 容器模式:默认使用 Windows 容器。
- 如果你需要运行 Linux 容器,需要在 Server 2019 上安装并配置 WSL 2(通过 Windows Subsystem for Linux),但这通常是在“混合”模式下运行,或者在较新的 Windows Server 2022 中支持更好。Server 2019 对 Linux 容器的支持不如 Server 2022 完善(需要特定的内核补丁和配置)。
- 兼容性说明:
- Docker Engine 23.x 及以上版本通常要求 Windows Server 2022 或更新的操作系统内核。
- 因此,在 Server 2019 上,不要尝试安装 Docker 23.x 或 24.x,它们将无法启动或报错。
2. 如何验证和安装
你可以通过以下命令检查当前已安装的 Docker 版本:
docker --version
如果你需要安装特定版本,可以使用 PowerShell 脚本(以安装 20.10 为例):
# 下载并安装 Docker Engine
Invoke-WebRequest -Uri "https://download.docker.com/win/static/stable/x86_64/docker-20.10.24-ce.zip" -OutFile "docker.zip"
Expand-Archive docker.zip -DestinationPath C:Program FilesDocker
(注:生产环境建议直接通过 Microsoft Update Catalog 或官方 MSI 安装包进行部署,以确保签名和依赖正确)
3. 关键注意事项
- 操作系统核心:Docker 在 Windows 上是基于 Hyper-V 隔离的(Windows 容器),其性能依赖于 NTFS 文件系统和 Hyper-V 技术。
- 升级限制:如果你计划升级到 Docker 24.x(目前最新的 LTS 系列),你必须将操作系统升级到 Windows Server 2022,因为新版 Docker 依赖了 Server 2022 中引入的新内核特性(如
vsock和更完善的 cgroup v2 支持)。 - Linux 容器支持:虽然理论上可以在 Server 2019 上跑 Linux 容器,但官方文档强烈建议在 Server 2019 上仅使用 Windows 容器。如果需要稳定的 Linux 容器支持,建议迁移至 Server 2022 或 Linux 发行版。
结论
对于 Windows Server 2019,最佳实践是使用 Docker Engine 20.10.x 版本(例如 20.10.24)。这是该操作系统能完美支持的最后一个长期维护的大版本系列。任何高于此版本的 Docker(如 23.x+)均不兼容 Windows Server 2019。
轻量云Cloud