本文概述了有关本地实现的 Windows Server 容器的支持策略Microsoft。
适用于: 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 专业版fessional 和 Enterprise
- Azure Stack HCI(在 Azure Stack HCI 上托管Azure Kubernetes 服务时)
- Windows IoT 核心版
- Windows Server 容器主机必须安装到 C:。 仅部署 Hyper-V 隔离容器时,此限制不适用。
有关 支持结束的详细信息,请参阅概述 - 产品终止支持 公共文档。
注意
有关 azure 中容器Microsoft支持策略的类似信息,请参阅 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)功能已弃用。
主机组件支持
Hyper-V 上 受支持的 Windows Server 版本 上运行的 Windows Server 容器会完全支持与操作系统、基础容器映像和/或容器功能相关的问题。 在 Windows Server 2016 和 SVVP 验证的虚拟机监控程序上托管的更高版本的 VM 上运行 Windows Server 容器,可以完全支持与操作系统、基本容器映像和/或容器功能相关的问题。
Windows Server 容器主机支持的配置
若要部署隔离的 Windows Server 容器和 Hyper-V 容器,必须安装 Mirantis 容器运行时(请参阅 入门:为容器准备 Windows)。
物理容器主机上支持的容器类型
Hypervisor | 支持容器类型 |
---|---|
无 | Windows Server 容器 |
Hyper-V | Hyper-V 隔离和 Windows Server 容器 |
虚拟机容器主机上支持的容器类型
VM 主机虚拟机监控程序 | 来宾 OS | 来宾虚拟机监控程序 | 支持的容器类型 |
---|---|---|---|
Hyper-V | Windows Server (完整或核心) | 无 | Windows Server 容器 |
Hyper-V | Windows Server (完整或核心) | Hyper-V (必须在嵌套虚拟化模式下运行) | Windows Server 容器和 Hyper-V 隔离容器 |
经 SVVP 验证的虚拟机监控程序 | Windows Server (完整或核心) | 无(VMware ESX 不支持 Hyper-V) | Windows Server 容器 |
有关经 SVVP 验证的虚拟机监控程序的详细信息,请参阅 欢迎使用 Windows Server 虚拟化验证计划。
Windows 10 和 Windows 11 容器主机支持的配置
Microsoft支持以下条件下的 Windows 10 或 Windows 11 专业版fessional 或 Enterprise 上的容器:
- Windows 1011 专业版或企业版的物理计算机操作系统(版本 1607)或更高版本。
- 已安装 Hyper-V。
- 容器类型为具有隔离的 Hyper-V(默认值)。
- 已安装适用于 Windows 的 Docker Desktop(请参阅 在 Docker 网站上安装适用于 Windows 的 Docker Desktop)。 适用于 Windows 的 Docker Desktop 是社区版(CE),非常适合希望开始使用 Docker 并试验基于容器的应用的开发人员和小型团队。
- 从 Windows 10 和 Windows 11 2018 年 10 月更新开始,我们不再禁止用户在 Windows 10 上以进程隔离模式运行 Windows Server 容器,Windows 11 企业版或 Professional 进行开发或测试。 有关详细信息,请参阅常见问题解答。
注意
自 2018 年 10 月 Windows 10 更新以来,用户不再禁止在 Windows 10 企业版 或 Professional 上以进程隔离模式运行 Windows Server 容器,以便进行开发/测试。 有关详细信息,请参阅常见问题解答。
Microsoft不支持 Windows 10 和 Windows 11 专业版fessional 或 Enterprise 上的以下配置:
- Docker Desktop。 可以从 Docker 社区论坛或 Docker 支持获取支持。 有关详细信息,请参阅 适用于 Windows 的 Docker Desktop 常见问题解答。
- Windows Server 容器或 Hyper-V 容器,在托管在 Windows 10 或 Windows 11 专业版fessional 或 Enterprise 系统上的虚拟机上隔离。 若要在虚拟机上使用容器,请使用 Windows Server 作为主机。
- Windows Server 容器现在可在 Windows 10 或 Windows 11 上运行,但不受完全支持。
容器主机的要求
有关容器主机的要求的信息,请参阅:
- Windows 容器要求
- Windows Server 上的 Hyper-V 的系统要求
- 借助嵌套虚拟化在虚拟机中运行 Hyper-V
- Windows 10 上的 Windows 容器
- Windows 上的 Docker 引擎
- Windows 容器版本兼容性
- Windows 10 上的 Linux 容器
有关虚拟化的要求和兼容性问题的详细信息,请参阅 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 监视器模式扩展。
- 至少 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 Core 容器基础映像 |
---|---|---|---|---|
Windows Server 2016 或 2019 Standard 或 Datacenter | 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 | 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 | 具有隔离功能的 Windows Server 容器和 Hyper-V 容器 | 不支持 |
Windows 10 专业版fessional 或 Enterprise | 具有隔离的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 | 具有隔离的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 | 具有隔离的 Hyper-V 容器和用于开发/测试的 Windows Server 容器 | 不支持 |
Windows IoT 核心版 | 不支持 | 不支持 | 不支持 | Windows Server 容器 |
如果计划使用运行不同版本和 Windows 版本的容器主机,则还需要考虑容器映像的版本和版本。 某些容器功能不向后兼容,因此某些较新的容器基础映像可能无法在具有旧操作系统(OS)版本的容器主机上运行。 有关详细信息,请参阅 Windows 容器版本兼容性 。
支持容器工作负荷
Microsoft完全支持容器基础映像,如“支持的容器映像”部分中所述。
有关在容器中运行的Microsoft应用程序(如 IIS、SQL 和 .NET)的支持,请参阅 DockerHub 上的Microsoft存储库,了解相应的容器映像支持指南。
注意
如果尝试将自定义应用程序或第三方应用程序移动到运行 Windows Server Core 映像的 Windows Server 容器,并且缺少问题。DLL 或 Windows Server 核心基础映像中的其他组件,请尝试使用 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 的消息。
- Microsoft将支持 Mirantis 容器运行时,直到 2023 年 4 月 30 日。
- 客户有权以永久方式运行 Mirantis 容器运行时的副本数,这些副本是在 2023 年 4 月 30 日之前获取的,并且不再有。
- 2023 年 4 月 30 日之后,客户将无法从 Microsoft 或 Mirantis 获取 Mirantis 容器运行时的支持、更新或修补程序。
- 客户可以随时从 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 边缘软件包中有一个 Microsoft 支持的 Kubernetes 平台,该平台包括一个轻量级 Kubernetes 发行版,其占用空间小且安装体验简单,让你能够轻松地在电脑类或“轻型”边缘硬件上部署 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 支持向客户建议Microsoft支持是否应就与 Windows Server 相关的问题参与。 有关将 Docker 群与 Windows Server 容器配合使用的详细信息,请参阅 Mirantis 网站上的群模式和 Swarm 模式概述。
Moby 是一个开源项目,旨在面向希望基于容器修改、黑客、修复、试验、发明和构建系统的工程师、集成商和爱好者。 有关详细信息,请参阅 GitHub 上的 Moby 项目 。
Microsoft在独立环境中(运行 Windows Server 的单节点容器主机)不支持 Moby。 所有问题和问题都应在 GitHub 上的 Moby 项目中提出。