本地方案中 Windows Server 容器的支持策略

本文概述了 Microsoft 有关本地实现的 Windows Server 容器的支持策略。

适用于:Windows Server 2019、Windows Server 2016、Windows 10 - 所有版本和Windows 11 - 所有版本
原始 KB 编号: 4489234

Microsoft 支持以下 Windows 版本和版本的 Windows Server 容器:

  • Windows Server 2022 Standard 或 Datacenter 版本
  • Windows Server 2019 Standard 或 Datacenter 版本
  • Windows Server 2016 Standard 或 Datacenter 版本
  • 安装了 Docker Desktop 的 Windows 10和Windows 11 Professional and Enterprise
  • 在 Azure Stack HCI) 上托管Azure Kubernetes 服务时,Azure Stack HCI (
  • Windows IoT 核心版
  • Windows Server 容器主机必须将 Windows 安装到 C:。 如果仅部署 Hyper-V 隔离容器,则此限制不适用。

有关终止支持的详细信息,请参阅 概述 - 产品 支持终止公共文档。

注意

有关 Microsoft 对 Azure 中容器的支持策略的类似信息,请参阅 Azure 上容器和相关服务的支持策略

容器主机支持的配置

Microsoft 使用以下术语定义支持的主机配置:

  • 主机操作系统:Windows Server、Windows 10或Windows 11。 有关详细信息,请参阅 Windows 容器要求
  • 虚拟机监控程序:Windows 10或Windows 11必须运行 Hyper-V 来支持容器;如表所示,Windows Server 具有更大的灵活性。
  • Mirantis 容器运行时 (MCR) :Mirantis 容器运行时是用于创建和管理在 Windows Server 上运行的容器的第三方应用程序。 有关详细信息,请参阅 Windows 容器要求
  • ContainerD:已使用 AKS 混合部署和 AKS 部署。
  • 适用于 Windows 的 Docker Desktop 在 Windows 10 上运行。
  • 容器类型:Microsoft 支持具有 Hyper-V 隔离的 Windows Server 容器。 但是,并非所有主机配置都可以支持任何容器类型。 有关 Windows Server 容器和容器类型的常规信息,请参阅 容器基础映像Windows 容器版本兼容性

注意

Windows Server 上的 Linux 容器 (LCOW) 功能已弃用。

主机组件支持

在物理硬件或虚拟机上运行 的 Windows Server 上的 Windows Server 容器 (Hyper-V 上的 VM) 上,对与操作系统、基本容器映像和/或容器功能相关的问题获得完全支持。 在经过 SVVP 验证的虚拟机监控程序上托管的 Windows Server 2016 及更高 VM 上运行 Windows Server 容器,将完全支持与操作系统、基本容器映像和/或容器功能相关的问题。

Windows Server 容器主机支持的配置

若要部署隔离的 Windows Server 容器和 Hyper-V 容器,必须安装 Mirantis 容器运行时, (请参阅 入门:) 准备适用于容器的 Windows

物理容器主机上支持的容器类型

虚拟机监控程序 支持容器类型
None Windows Server 容器
Hyper-V Hyper-V 隔离和 Windows Server 容器

虚拟机容器主机上支持的容器类型

VM 主机虚拟机监控程序 来宾 OS 来宾虚拟机监控程序 支持的容器类型
Hyper-V Windows Server (完整或核心) None Windows Server 容器
Hyper-V Windows Server (完整或核心) Hyper-V (必须在 嵌套虚拟化模式下 运行) Windows Server 容器和 Hyper-V 隔离容器
经 SVVP 验证的虚拟机监控程序 Windows Server (完整或核心) 无 (Hyper-V 不支持 VMware ESX) Windows Server 容器

有关 SVVP 验证虚拟机监控程序的详细信息,请参阅 欢迎使用 Windows Server 虚拟化验证计划

Windows 10和Windows 11容器主机支持的配置

在以下情况下,Microsoft 支持 Windows 10 或 Windows 11 Professional 或 Enterprise 上的容器:

  • 具有周年更新的 Windows 1011 专业版或企业版的物理计算机操作系统 (版本 1607) 或更高版本。
  • 已安装 Hyper-V。
  • 容器类型为 Hyper-V,其隔离 (默认) 。
  • 已安装适用于 Windows 的 Docker Desktop (请参阅在 Docker 网站上 安装适用于 Windows 的 Docker Desktop) 。 适用于 Windows 的 Docker Desktop 是 ce) (Community Edition,非常适合希望开始使用 Docker 并试用基于容器的应用的开发人员和小型团队。
  • 从Windows 10和 2018 年 10 月更新Windows 11开始,我们不再禁止用户在 Windows 10 和 Windows 11 企业版 或 Professional 上以进程隔离模式运行 Windows Server 容器,以便进行开发或测试。 有关详细信息,请参阅 常见问题解答

注意

自 Windows 10 2018 年 10 月更新以来,用户不再禁止在 Windows 10 企业版 或 Professional 上以进程隔离模式运行 Windows Server 容器以进行开发/测试。 有关详细信息,请参阅 常见问题解答

Microsoft 不为 Windows 10 和 Windows 11 Professional 或 Enterprise 上的以下配置提供支持:

  • Docker Desktop。 可以从 Docker 社区论坛或 Docker 支持获取支持。 有关详细信息,请参阅 Docker Desktop for Windows 常见问题解答
  • Windows Server 容器或 Hyper-V 容器,在托管在Windows 10或Windows 11专业或企业系统上的虚拟机上隔离。 若要在虚拟机上使用容器,请使用 Windows Server 作为主机。
  • Windows Server 容器现在适用于Windows 10或Windows 11,但并不完全受支持。

容器主机的要求

有关容器主机的要求的信息,请参阅:

有关虚拟化的要求和兼容性问题的详细信息,请参阅 Windows Server 目录:服务器虚拟化验证计划

Hyper-V 隔离容器要求

若要运行 Hyper-V 容器,容器主机必须满足运行 Hyper-V 本身的要求。 总结 Windows Server 的 Hyper-V 要求:

  • 64 位处理器,具有以下功能
    • SLAT) (二级地址转换:Windows 虚拟机监控程序功能需要 SLAT, (Hyper-V 管理工具不) 。
    • 硬件辅助虚拟化:这在包含虚拟化选项的处理器中可用,特别是采用 Intel 虚拟化技术 (Intel VT) 或 AMD 虚拟化 (AMD-V) 技术的处理器。
    • 必须可用并启用硬件强制实施的数据执行防护 (DEP) 。 对于 Intel 系统,这是执行禁用位) (XD 位。 对于 AMD 系统,这是 NX 位 (没有执行位) 。
  • VM Monitor 模式扩展。
  • 至少 4 GB RAM。 内存越多越好。 需要为主机和要同时运行的所有虚拟机提供足够的内存。
  • 在 BIOS 或 UEFI 中启用虚拟化支持。

有关系统要求的详细信息:

支持的容器映像

Microsoft 提供四个容器基础映像,用户可以从中生成映像。 每个基础映像都是不同类型的 Windows 操作系统,具有不同的磁盘占用空间,并且具有一组不同的 Windows API。 有关详细信息,请参阅 容器基础映像

  • Windows Server 核心:支持传统的 .NET Framework 应用程序
  • Nano Server:为 .NET Core 应用程序构建
  • Windows Server:提供其他 Windows API 集
  • Windows IoT 核心版:专为 IoT 应用程序构建

Windows 容器主机上支持的容器基础 OS 映像

如支持的容器主机中所述,并非所有主机操作系统都支持 Windows Server 容器和 Hyper-V 隔离容器。 同样,并非所有基础映像都支持这两种容器类型。 下表概述了可以在每个主机操作系统上使用每个基础映像创建的容器类型。

容器主机 OS Windows Server Core 容器基础映像 Nano Server 容器基础映像 Windows 容器基础映像 Windows IoT 核心版容器基础映像
Windows Server 2016 或 2019 标准版或数据中心版 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 不支持
Windows 10专业版或企业版 具有隔离功能的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 具有隔离功能的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 具有隔离功能的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 不支持
Windows IoT 核心版 不支持 不支持 不支持 Windows Server 容器

如果计划使用运行不同版本和版本的 Windows 的容器主机,则还需要考虑容器映像的版本和版本。 某些容器功能不向后兼容,因此某些较新的容器基础映像可能无法在具有旧操作系统 (操作系统) 版本的容器主机上运行。 有关详细信息 ,请参阅 Windows 容器版本兼容性

对容器工作负载的支持

Microsoft 完全支持容器基础映像,如“支持的容器映像”部分中所述。

有关在容器中运行的 Microsoft 应用程序(如 IIS、SQL 和 .NET)的支持,请参阅 DockerHub 上的 Microsoft 存储库 ,了解相应的容器映像支持指南。

注意

如果尝试将自定义应用程序或第三方应用程序移动到运行 Windows Server 核心映像的 Windows Server 容器,但遇到缺少 的问题。Windows Server 核心基础映像中的 DLL 或其他组件,请尝试使用 Windows Server 容器映像,因为它设置了其他 Windows API。

避免复制 。从容器主机到 Windows Server Core 基础映像的 DLL,因为这可能会导致应用程序出现错误。 Microsoft 提供了一些组件 。可再发行程序包窗体中的 DLL。 从官方 Microsoft 下载中心下载可再发行程序包,并使用 Dockerfile 将其安装到容器映像中。

没有一个“单一的真相来源”,就它而言。DLL 以可再发行形式提供或不以可再发行形式提供。

有关移动旧版应用的指南,请参阅 直接迁移到容器

支持的网络配置

Microsoft 支持 Windows 容器网络 功能。 此功能包括主机网络服务 (HNS) 和主机计算服务 (HCS) 。 HNS 和 HCS 协同工作, (HCS) 创建容器,并将终结点附加到网络 (HNS) 。 此外,它还包括以下容器网络驱动程序 (有关这些驱动程序的完整说明,请参阅 Windows 容器网络驱动程序) :

有关 不支持的功能和网络选项,请参阅此文。

容器支持的服务帐户

Microsoft 支持适用于容器的 Active Directory 组托管服务帐户 (gMSA) 。

容器不能加入域,但 gMSA 支持未加入域和已加入域的容器主机。 通过使用 gMSA,可以将 Windows Server 容器本身及其托管的服务配置为使用特定的 gMSA 作为其域标识。 使用本地系统或网络服务运行的任何服务都使用 Windows Server 容器的标识,就像使用已加入域的主机的标识一样。 有关详细信息 ,请参阅为 Windows 容器创建 gMSA

容器和容器主机支持的终结点安全选项

Windows Defender已针对保护容器主机进行了优化,并且完全受支持。 但是,Microsoft 不支持在 Windows Server 容器中运行的Windows Defender。

使用第三方终结点安全/防病毒软件时,请向供应商验证 Windows Server 容器是否受支持,并参阅供应商的公共文档以获取建议和排除项。 有关详细信息 ,请参阅 Windows 容器的防病毒优化

Windows Server 上支持的容器运行时

Mirantis 容器运行时 (MCR) 是建议和支持的容器运行时接口,用于在 Windows Server 上创建、管理和运行 Windows Server 容器。 有关详细信息,请参阅 Mirantis

有关 Windows Server 上建议和支持的安装方法,请参阅 入门:为容器准备 Windows。

2023 年 4 月 30 日之后,Microsoft 将不再成为在 Windows Server 上运行 Mirantis 容器运行时的客户的第一个联系点。 客户需要首先与 Mirantis 联系。

有关详细信息,请参阅 来自 Mirantis 的消息

  1. Microsoft 将在 2023 年 4 月 30 日之前提供对 Mirantis 容器运行时的支持。
  2. 客户有权永久运行在 2023 年 4 月 30 日之前获取的 Mirantis 容器运行时副本数,而不再有此许可。
  3. 2023 年 4 月 30 日之后,客户将无法从 Microsoft 或 Mirantis 获取 Mirantis 容器运行时的支持、更新或修补程序。
  4. 客户可以随时购买许可证,以使用 Mirantis 中完全支持的 Mirantis 容器运行时版本。

ContainerD 是社区支持的开源行业标准容器运行时。 有关详细信息,请参阅 ContainerD 项目。 在 Windows Server 上运行的 ContainerD 可以创建、管理和运行 Windows Server 容器,但 Microsoft 不提供任何支持。 有关 ContainerD 的任何问题,请咨询 GitHub 社区。 有关详细信息,请参阅 GitHub ContainerD 项目

支持的容器业务流程协调程序

多个容器业务流程协调程序支持 Windows Server 容器。 在与 Microsoft 支持人员联系之前,请解决供应商的任何问题。

Azure Stack HCI (AKS-HCI) 或 Windows Server 上的Azure Kubernetes 服务是 Azure 标志交付容器服务的本地实现,该服务可自动大规模运行容器化应用程序。 借助 AKS,可以更快地开始在数据中心托管 Linux 和 Windows 容器。

Microsoft 为 Azure Stack HCI 或 Windows Server 上的Azure Kubernetes 服务提供端到端支持,包括没有高可用性的单个节点。

Microsoft 不会提供以下支持。

  • 自定义应用程序代码
  • 容器或容器主机中的任何非内置系统服务或驱动程序
  • Microsoft (不支持的容器基础映像,例如 Nginx) 或未在支持的加载项列表中列出的容器基础映像

有关支持策略的详细信息,请参阅 AKS 混合的支持策略 - AKS 混合 |Microsoft Learn

Azure Kubernetes 服务 Edge Essentials (AKS EE) 是Azure Kubernetes 服务 (AKS) 的本地 Kubernetes 实现,可大规模自动运行容器化应用程序。 AKS Edge Essentials 包括 Microsoft 支持的 Kubernetes 平台,该平台包含一个轻型 Kubernetes 分发版,其占用空间小,安装体验简单,使你可以轻松地在 PC 类或“轻型”边缘硬件上部署 Kubernetes。

Microsoft 为 Azure Kubernetes 服务 Edge Essentials 提供端到端支持,但以下内容除外。

  • 自定义应用程序代码
  • 容器或容器主机中的任何非内置系统服务或驱动程序
  • Microsoft 不支持的容器基础映像,例如;未在支持的加载项列表中列出的 Nginx 或版本或基础映像

有关支持策略的详细信息,请参阅 AKS 混合的支持策略 - AKS 混合 |Microsoft Learn

Azure Kubernetes 服务 (AKS) 是 Azure 的标志交付容器服务;客户可以在 AKS 群集中创建基于 Windows Server 的节点池来运行其 Windows 容器。 这是完全受支持的服务;应使用Azure 门户中的“帮助 + 支持”打开任何问题或问题。

Kubernetes 是一个开源项目,从 Kubernetes 1.14 开始,支持 Windows Server 2019 及更高版本上的 Windows Server 容器。 有关详细信息,请参阅 Kubernetes 中的 Windows 支持简介和支持功能和限制。 有关详细信息,请参阅 Windows 上的 Kubernetes

有关与 Kubernetes 相关的任何问题,请参阅 报告问题和功能请求

Microsoft 仅支持参与本地 Kubernetes 群集的 Windows 节点。

Microsoft 不对以下项提供支持:

  • 设置和配置 Linux 节点
  • Kubernetes 二进制文件
  • Linux 容器
  • Kubernetes 插件

与非支持项相关的任何问题或问题都应向相关的 GitHub 社区解决。

Azure Service Fabric 完全受支持,所有问题或问题都应使用Azure 门户中的“帮助 + 支持”定向到Azure 支持。 有关详细信息,请参阅 Service Fabric 群集资源管理器简介Service Fabric 和容器

Docker 群 是 Mirantis 容器运行时的一项功能,可在 Linux 和 Windows 主机的混合节点环境中创建、管理和运行 Windows Server 容器。 Mirantis 完全支持 Docker 群。 Mirantis 支持建议客户是否应就与 Windows Server 相关的问题与 Microsoft 支持人员联系。 有关将 Docker swarm 与 Windows Server 容器配合使用的详细信息,请参阅 Mirantis 网站上的 群模式 入门和 群模式概述

Moby 是一个开源项目,面向希望修改、破解、修复、试验、发明和构建基于容器的系统的工程师、集成者和爱好者。 有关详细信息,请参阅 GitHub 上的 Moby 项目

Microsoft 在运行 Windows Server) 的单节点容器主机 (独立环境中不支持 Moby。 所有问题和问题都应在 GitHub 上的 Moby 项目中提出。