在 Windows Server 2019 上安装 Docker,官方推荐且兼容性最好的版本是 Docker Engine 的 "Stable"(稳定版)通道中的最新兼容版本。
具体来说,你需要关注以下核心要点:
1. 推荐的具体版本
由于 Docker 的版本迭代较快,没有唯一的“固定版本号”适合所有情况,但根据微软和 Docker 官方的支持矩阵,Windows Server 2019 通常完美支持 Docker Desktop for Windows (企业版/付费版) 或 Docker Engine for Windows Server 的最新几个大版本。
- Docker Engine (Server 端): 建议安装 Docker Engine 23.x 或 24.x 系列(具体取决于你使用的 Windows Update 补丁级别)。
- 注意:较旧的 Docker 版本(如 19.x 或 20.x)虽然也能运行,但可能不再接收安全更新。
- 关键依赖: Windows Server 2019 必须开启 容器功能 (Containers Feature) 并安装 Nano Server 或 Windows Server Core 镜像作为基础运行时。
2. 两种主要的安装方式
根据你的使用场景(是生产服务器还是开发测试环境),有两种不同的安装路径:
方案 A:使用 Docker Desktop for Windows (仅限非生产/开发环境)
如果你是在本地开发机或测试机上使用,可以直接下载 Docker Desktop。
- 适用场景:开发、测试、学习。
- 限制:Docker Desktop 的免费版本禁止用于商业目的的生产环境。如果在生产服务器上安装免费版,属于违规使用。
- 获取方式:去 Docker Hub 官网下载
Docker Desktop安装包。
方案 B:使用 Docker Engine for Windows Server (推荐用于生产环境)
如果你是在真实的 Windows Server 2019 生产环境中部署,必须使用 Docker Engine。
- 适用场景:生产环境、企业级应用部署。
- 优势:轻量级、无图形界面(CLI 操作)、完全免费(社区版)、符合商业许可。
- 安装步骤简述:
- 启用容器功能:
Install-WindowsFeature -Name Containers -Restart - 从微软官方 PowerShell 脚本自动安装最新版本的 Docker Engine:
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/microsoft/Winget-PKgs/master/docker/engine/releases/stable/install.ps1" -OutFile install.ps1 .install.ps1(注:该脚本会自动检测并安装当前 Windows Server 2019 兼容的最新 Stable 版本)
- 启用容器功能:
3. 重要注意事项
- 内核模式隔离 vs 用户模式隔离:Windows Server 2019 默认支持 NVIDIA GPU 提速 和 Hyper-V 容器。在安装时,请确保你的服务器已安装最新的 .NET Framework 4.8 和 KB5000802 等关键累积更新,否则可能导致启动失败。
- 镜像选择:在 Server 2019 上,默认的容器基础镜像通常是
mcr.microsoft.com/windows/nanoserver:ltsc2019或mcr.microsoft.com/windows/servercore:ltsc2019。不要尝试拉取 Linux 镜像(除非你配置了 WSL2 后端,但在纯 Server 2019 环境下通常直接运行 Windows 容器)。 - 版本匹配:Docker 版本必须与操作系统版本匹配。例如,极新的 Docker 版本(如 27+)可能要求 Windows Server 2022 或更新的内核特性。如果脚本安装报错,可能需要手动指定一个稍旧一点的稳定版(如 23.0.x)。
结论
在 Windows Server 2019 上:
- 生产环境:请使用 Docker Engine for Windows Server (Stable 频道),通过 PowerShell 脚本自动安装最新版(目前通常为 24.x 或 25.x 早期版本,视具体补丁而定)。
- 开发环境:可以使用 Docker Desktop,但请注意其许可证限制。
建议操作:直接在安装了最新系统补丁的 Windows Server 2019 上运行微软官方提供的自动化安装脚本,它会自动为你选择当前最稳定且兼容的版本。
CLOUD技术博