速卖通素材
奋斗

在Windows Server 2022上运行Docker容器需要启用哪些核心组件和服务?

服务器

在 Windows Server 2022 上运行 Docker 容器,需要启用以下核心组件和服务(按必要性分层说明):


必需条件

  1. Windows 版本要求

    • 必须使用 Windows Server 2022 DatacenterStandard 版(非 Essentials 或 IoT 版),且已安装最新累积更新。
    • 建议通过 winver 确认系统版本 ≥ 10.0.20348(Build 20348+)。
  2. Hyper-V 支持
    Docker Desktop for Windows(含 Server 场景)依赖 Hyper-V 后端;但更常见的是使用 Docker Engine for Windows(基于 Containers 功能,不强制 Hyper-V,除非运行 Linux 容器)。

    • 若运行 Windows 容器:仅需启用 “容器”功能(Containers feature)。
    • 若运行 Linux 容器:需启用 Hyper-V + 虚拟机平台(因 WSL2 模式不可用于 Server 的 Linux 容器,需用 Hyper-V 隔离)。

🔧 必须启用的 Windows 功能

通过 PowerShell(以管理员身份)执行:

情况 A:仅运行 Windows 容器

Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -NoRestart

此命令启用:

  • Containers-Server(核心容器运行时)
  • Microsoft-Hyper-V-All(可选,但若后续切换至 Hyper-V 模式则需)
  • VirtualMachinePlatform(通常自动包含)

✅ 无需额外服务——Docker Engine 会自动管理必要后台进程(如 dockerd, containerd)。

情况 B:运行 Linux 容器(推荐方式)

需同时启用:

# 1. 容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -NoRestart

# 2. Hyper-V(关键!Linux 容器需完全虚拟化隔离)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart

# 3. 虚拟机平台(WSL2 兼容层,部分场景辅助)
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All -NoRestart

⚠️ 注意:

  • Windows Server 不支持 WSL2 作为 Docker 后端(与 Windows 10/11 不同),必须用 Hyper-V 隔离的 Linux 容器
  • 启用后必须重启服务器

🛠️ 配套服务与配置

项目 说明
Docker Engine for Windows 从 Moby GitHub 或微软官方镜像下载 .msi 安装包(如 docker-desktop.exe 不适用于 Server,应选 docker-engine-windows-x86_64.msi
PowerShell 7+ / .NET 6+ 新版 Docker 引擎依赖 .NET 6 运行时(安装程序会自动部署)
网络适配器 确保有可用虚拟交换机(Docker 默认创建 nattransparent 类型)
防火墙规则 安装后自动添加,但需开放端口(如 2375, 2376, 80, 443 等,依配置而定)

🔍 验证是否就绪

# 检查功能状态
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -like "*Container*" -or $_.FeatureName -like "*Hyper*"}

# 测试 Docker
docker --version
docker run hello-world  # Windows: 拉取 mcr.microsoft.com/hello-world; Linux: 拉取 library/hello-world

💡 提示:生产环境建议直接使用 Docker ComposeKubernetes (via AKS/Azure Arc) 编排,避免手动管理单节点。

如需具体部署脚本或故障排查指南,可进一步说明您的容器类型(Win/Linux)与用途。

未经允许不得转载:轻量云Cloud » 在Windows Server 2022上运行Docker容器需要启用哪些核心组件和服务?