在 Windows Server 2022 云服务器上安装 Docker(更准确地说,是 Docker Engine for Windows,即基于 Windows 容器或 Hyper-V 隔离的容器运行时),需满足以下关键条件。⚠️ 注意:自 Docker Desktop 4.3+ 起,Docker Desktop 已不再支持 Windows Server 系统(仅支持 Windows 10/11 专业版/企业版)。因此,在 Windows Server 2022 上应使用 原生 Docker Engine(通过 Microsoft 提供的容器运行时),通常通过 Windows Containers + Moby/Docker Engine(社区维护版)或更推荐的替代方案 实现。
以下是详细、实用且符合当前(2024年)最佳实践的安装条件与步骤:
✅ 一、系统前提条件(必须满足)
| 条目 | 要求 | 说明 |
|---|---|---|
| 操作系统版本 | Windows Server 2022(Standard 或 Datacenter 版本) • 建议为 最新累积更新(CU)(如 22H2 或更高) |
可通过 winver 或 Get-OSVersion 查看;需启用容器功能,旧版本可能存在兼容性问题。 |
| 系统架构 | x64(AMD64) | 不支持 ARM64(Windows Server 2022 ARM64 尚未正式支持容器运行时)。 |
| 虚拟化支持 | ✅ 已启用 Hyper-V 和/或 Windows Subsystem for Linux 2(WSL2) • 若运行 Windows 容器(process/isolation):需启用 Containers 功能(不强制要求 Hyper-V,但推荐) • 若运行 Linux 容器(LCOW)或 Hyper-V 隔离容器:必须启用 Hyper-V |
云服务器需确认 Hypervisor 支持(如 Azure VM 需选支持嵌套虚拟化的 SKU,如 Dv3/Ev3/Dsv4/Esv4 等;阿里云/腾讯云需开启“嵌套虚拟化”或选用支持 Hyper-V 的实例类型,如阿里云 g7/c7(部分地域)、腾讯云 S5/SA2 等)。 |
| 内存与磁盘 | • 最低:4 GB RAM(建议 ≥8 GB) • 磁盘:≥30 GB 可用空间(含系统盘+容器镜像存储) |
容器镜像(尤其 Windows Server Core 镜像)体积大(数 GB),建议使用 SSD 存储。 |
| 管理员权限 | 必须以 本地 Administrator 或 Enterprise Admin 身份运行 PowerShell | 所有安装和配置命令需提升权限。 |
✅ 二、必备 Windows 功能(需启用)
以管理员身份运行 PowerShell,执行:
# 启用容器核心功能(必需)
Enable-WindowsOptionalFeature -Online -FeatureName containers -All -NoRestart
# 若需 Hyper-V 隔离(强烈推荐用于生产/安全隔离)或 LCOW:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart
# (可选)启用 WSL2(仅当计划使用 Linux 容器 + LCOW,但已不推荐;见下文说明)
# Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -All -NoRestart
# wsl --install # 需后续配置,但 Windows Server 对 LCOW 支持已废弃
# 重启服务器
Restart-Computer -Force
🔍 验证是否启用成功:
Get-WindowsOptionalFeature -Online -FeatureName containers, Microsoft-Hyper-V
✅ 三、Docker Engine 安装方式(官方推荐路径)
⚠️ 重要更新(2023年起):
Microsoft 已将 Windows 容器运行时整合进 Windows Server 的容器功能,不再提供独立的“Docker Engine”官方安装包。取而代之的是:
✅ 推荐方案:使用 Microsoft 提供的 dockerd 二进制(Moby 项目)
这是目前 Windows Server 2022 上最稳定、受支持的方式(由 Microsoft 维护,基于开源 Moby):
-
下载官方 Docker Engine 二进制(适用于 Windows Server):
- 访问 https://github.com/moby/moby/releases
→ 查找最新dockerdfor Windows(如dockerd-24.0.7.zip)✅ 注意:选择
dockerd(不是 Docker Desktop),并确认 Release Notes 中明确支持 Windows Server 2022。
- 访问 https://github.com/moby/moby/releases
-
解压并安装服务(PowerShell 管理员):
# 下载并解压(示例) $url = "https://github.com/moby/moby/releases/download/v24.0.7/dockerd-24.0.7.zip" $zipPath = "$env:TEMPdockerd.zip" Invoke-WebRequest -Uri $url -OutFile $zipPath Expand-Archive -Path $zipPath -DestinationPath "$env:ProgramFilesdocker" # 添加到 PATH $env:Path += ";$env:ProgramFilesdocker" # 注册为 Windows 服务 dockerd --register-service # 启动服务 Start-Service docker -
验证安装:
docker version docker info docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd /c echo "Hello from Windows Container!"
💡 提示:首次拉取 Windows 镜像可能较慢(需从
mcr.microsoft.com拉取),建议提前docker pull mcr.microsoft.com/windows/servercore:ltsc2022。
✅ 四、网络与安全要求
| 项目 | 要求 |
|---|---|
| 防火墙 | 开放 Docker 默认端口(如 2375/2376,若需远程 API);生产环境建议禁用未加密的 2375,改用 TLS(2376) |
| DNS 配置 | 确保服务器能解析 mcr.microsoft.com(Microsoft Container Registry);云服务器需检查 VPC 内 DNS 设置(如 Azure 使用 168.63.129.16) |
| 时间同步 | 启用 Windows Time 服务(w32tm /resync),避免因证书过期导致镜像拉取失败 |
❌ 五、常见误区与不支持项(务必规避)
| 错误做法 | 说明 |
|---|---|
| ❌ 安装 Docker Desktop | 不支持 Windows Server —— 安装会失败或无法启动。 |
| ❌ 尝试在 Windows Server 上启用 WSL2 + Docker Desktop | WSL2 在 Server 2022 可安装,但 Docker Desktop 仍不兼容,且 LCOW(Linux Containers on Windows)已自 Docker Engine 20.10 起被弃用并移除。 |
| ❌ 使用老旧 Docker Toolbox(已淘汰) | 不支持 Windows Server 2022,且依赖 VirtualBox(云服务器通常不支持)。 |
❌ 未启用 containers 功能直接运行 dockerd |
报错 Error starting daemon: failed to load listeners: no listener is configured 或 HNS failed with error: The parameter is incorrect. |
✅ 六、附加建议(生产环境)
- 镜像源优化:国内用户可配置镜像提速(如阿里云 ACR 镜像X_X):
# 编辑 $env:ProgramDatadockerconfigdaemon.json { "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"] } Restart-Service docker - 日志与监控:启用 Docker 日志驱动(如
json-file+ logrotate)或对接 Azure Monitor / Prometheus。 - 安全加固:禁用默认
docker0网桥、限制容器 Capabilities、使用--user运行非特权容器。 - 备份策略:定期备份
C:ProgramDatadocker(含镜像、卷、网络配置)。
✅ 总结:一句话安装前提清单
Windows Server 2022 云服务器要运行 Docker(Windows 容器),必须:
✅ 是 x64 架构 + 最新 CU 更新;✅ 已启用Containers功能(及Hyper-V若需隔离);✅ 云实例支持嵌套虚拟化;✅ 以管理员运行 PowerShell 安装 Mobydockerd二进制;✅ 能访问mcr.microsoft.com;❌ 不安装 Docker Desktop。
如需,我可为你提供:
- 完整自动化安装脚本(PowerShell)
daemon.json生产级配置模板- Windows Server + IIS 容器化部署示例
- 故障排查手册(常见报错如
hnsCall failed/The container operating system does not match the host)
欢迎随时告知你的云平台(Azure/AWS/阿里云/腾讯云等)和具体用途(开发/测试/生产?运行 .NET 应用?),我可以给出针对性配置 👇
云小栈