在 Windows Server 2019 上安装 Docker,官方推荐的最新稳定版本是 Docker CE(Community Edition)的 24.x 或 25.x 系列。
由于 Docker Desktop for Windows 主要面向开发环境(通常不推荐直接用于生产服务器),而在 Windows Server 上运行容器通常采用 Docker Engine (CE) 模式。以下是具体的选择建议和注意事项:
1. 核心推荐版本
- 首选版本:Docker Engine 24.0.x 或 25.0.x(截至当前最新稳定版)。
- 这些版本对 Windows Server 2019 的支持非常成熟,修复了旧版本的许多安全漏洞和兼容性 Bug。
- 注意:Docker 从 23.0 版本开始,默认要求内核支持某些新功能,但 Windows Server 2019 的内核完全兼容。
- 长期支持(LTS)考量:如果你需要极高的稳定性且不希望频繁升级,可以选择 Docker Engine 23.0.x 或更早的 20.10.x(如果受限于特定的老旧应用依赖)。但在没有特殊限制的情况下,建议直接使用最新的 LTS 或近期稳定版。
2. 关键前提条件
在安装之前,必须确保你的 Windows Server 2019 满足以下条件,否则无法运行 Docker:
- 操作系统更新:Windows Server 2019 必须安装最新的累积更新(Cumulative Updates),特别是涉及内核和网络堆栈的补丁。建议将系统更新到最新版本(如 20H2 之后的所有补丁)。
- 功能启用:必须启用 "Containers" 功能。
- 可以通过 PowerShell 命令快速开启:
Enable-WindowsOptionalFeature -Online -FeatureName Containers-UserMode-Server(注:部分新脚本可能直接包含
Containers和Microsoft-Hyper-V相关功能,具体取决于是否使用 Hyper-V 隔离或进程隔离)
- 可以通过 PowerShell 命令快速开启:
- 隔离模式选择:
- 进程隔离 (Process Isolation):性能更好,资源开销小,适用于纯 Windows 容器。这是 Windows Server 上的默认推荐模式。
- Hyper-V 隔离 (Hyper-V Isolation):每个容器运行在独立的轻量级虚拟机中,安全性更高,但启动稍慢且资源占用略高。
3. 安装方式
在 Windows Server 上,通常不使用 Docker Desktop(因为它是为桌面版 Windows 设计的 GUI 应用,且包含不必要的组件),而是通过 WinGet、PowerShell 脚本 或 手动安装包 来部署 Docker Engine。
推荐使用 PowerShell 自动安装脚本(官方标准做法):
# 以管理员身份运行 PowerShell
# 1. 下载并执行官方安装脚本
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/microsoft/Winget-Packages/master/src/docker/engine/InstallDocker.ps1" -OutFile InstallDocker.ps1
# 或者直接访问微软官方文档获取针对 Server 2019 的最新安装脚本链接
# 2. 或者使用 WinGet (如果已安装)
winget install Docker.DockerEngine
(注:微软官方维护了一个专门的 GitHub 仓库 microsoft/winget-pkgs,其中包含针对 Server 2019 优化的安装脚本,建议优先参考该仓库中的 docker-engine 目录下的脚本)
总结
对于 Windows Server 2019:
- 版本选择:请直接安装 Docker Engine 24.x 或 25.x(社区版 CE)。
- 部署模式:使用 Docker Engine 而非 Docker Desktop。
- 运行模式:优先配置为 进程隔离 (Process Isolation) 以获得最佳性能。
重要提示:在正式投入生产环境前,请务必查阅 Docker 官方发布的发行说明,确认你选定的具体小版本号(如 24.0.7)与你现有的 .NET 框架、SQL Server 或其他宿主软件存在无冲突。
CLOUD云计算