Windows 容器和 Docker 在内部部署方案的支持策略

当客户遇到问题或者有任何 Windows 容器以及相关的 Docker 功能方面的问题时,Microsoft 还联系其第一个点。这篇文章概括介绍了有关 Windows 容器和 Docker 对于内部部署 Microsoft 的支持政策。有关 Microsoft 的支持策略容器在 Azure 中的类似信息,请参阅支持的容器和在 Azure 上相关的服务策略

容器的主机支持的配置

////

Microsoft 在以下条款中定义的受支持的主机配置:

  • 主机操作系统。Windows 服务器或 Windows 10。

  • 虚拟机监控程序。Windows 10 必须运行 Hyper-V 以支持容器;在表中,显示 Windows 服务器上,有更大的灵活性。

  • Docker 引擎。Docker 是容器管理第三方应用程序。Docker 企业运行在 Windows 服务器;Docker Windows 桌面运行 Windows 10。Docker 有关详细信息,请参阅在 Windows Docker

  • 容器类型。Microsoft Windows 服务器容器、 Hyper-V 容器和 Linux 容器支持。但是,并非所有主机配置可以都支持所有的容器类型。有关 Windows 容器和容器类型的一般信息,请参阅在 Windows 上的容器

    注意

    发展是 Linux 容器窗口 (LCOW) 功能。有关详细信息,请参阅在 Windows 上的 Linux 容器。您可以在 GitHub 上跟踪Moby项目中的进度。

主机组件支持

部署 Windows 服务器容器的客户支持在物理硬件上运行的 Windows 服务器版本或上 Hyper-V 虚拟机将接收到操作系统和/或容器引擎相关的问题的完全支持。

对于 Windows 服务器容器承载受支持的配置

Microsoft 支持以下版本和发行版的 Windows 服务器上的 Windows 容器:

  • Windows 服务器 2019 (1809) 标准或数据中心版本

  • Windows 服务器 2016 (1803) 标准或数据中心版本

  • Windows 服务器 2016 (1709) 标准或数据中心版本

  • Windows 服务器 2016 (1607) 标准、 数据中心、 或纳米服务器版本

  • Windows IoT 核心 (仅适用于 Windows 内部成员)

注意

不能驻留在 Windows 服务器上,Nano 服务器版,在晚于 1607年任何 Windows 服务器释放的容器。

在 LTSC 和半年通道 (SAC) 版本,Microsoft 支持 Windows 容器。有关 Windows 版本和版本的支持周期的详细说明,请参阅Windows 服务器半年通道概述

若要部署 Windows 服务器上的容器,您必须安装 Docker 企业 (请参见安装 Docker 引擎-Windows 服务器上的企业)。  Docker 提供 Docker 企业在https://success.docker.com/support的完全支持。

在这些版本的 Windows 中,Microsoft 支持的容器的类型取决于是否您的主机是一台物理计算机或虚拟机,以及是否启用 Hyper-V 与运行 Windows。

虚拟机管理程序

支持的容器类型

None

Windows 服务器容器

Hyper-V

Windows 服务器容器 Hyper-V 容器 Linux 容器

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

 

VM 主机虚拟机管理程序

来宾操作系统

来宾虚拟机管理程序

支持的容器类型

Hyper-V

Windows 服务器 (完整或核心)

None

Windows 服务器容器

Hyper-V (必须在嵌套的虚拟化模式下运行)

Windows 服务器容器 Hyper-V 容器

Linux

Linux

Linux 容器

VMWare ESX

Windows 服务器 (完整或核心)

无 (Hyper-V VMWare ESX 上不受支持)

Windows 服务器容器

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

 

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

Microsoft 支持 Windows 10 专业或企业纪念日更新 (版本 1607年) 或更高版本,容器符合下列要求:

您可以使用 Hyper-V 容器或 Linux 容器上 Windows 10。您不能使用 Windows 服务器容器。

Microsoft 不支持 Windows 10 计算机承载的虚拟机上的容器。要在虚拟机上使用的容器,可用作虚拟机主机的 Windows 服务器。

容器的主机要求

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

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

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

  • 64 位处理器,具有以下功能:

    • 第二层地址翻译 (SLAT)。Windows 虚拟机管理程序功能要求的 SLAT (Hyper-V 管理工具所不能。

    • 硬件协助虚拟化。这是包含处理器的虚拟化选项-特别是与英特尔虚拟化技术 (英特尔 VT) 或 AMD 虚拟化 (AMD V) 技术的处理器中可用。

    • 硬件强制数据执行保护 (DEP)必须可用并且已启用。对于英特尔的系统,这是 XD 位 (执行禁用位)。对于 AMD 系统,这是 NX 位 (没有执行位)。

  • 虚拟机监视器模式扩展。

  • 至少 4 GB 的 RAM。更多的内存会更好。主机和所有您想要同时运行的虚拟机,您将需要足够的内存。

  • 在 BIOS 或 UEFI 打开虚拟化支持。

有关详细信息,请参阅Hyper-V Windows 服务器上的系统要求

支持的容器 orchestrators

Azure 服务结构不可协调内部容器。Windows 支持 Docker 蜂群、 Kubernetes 和 Red Hat orchestrators。

  • Docker 蜂群。Docker 蜂群是 Docker 引擎的功能。完全支持 Docker docker 蜂群。有关使用 Docker 群与 Windows 容器,请参阅入门蜂群模式

  • Kubernetes。对于内部部署 Windows Server 部署的 Kubernetes 仍处于预览 (测试版)。之前官方宣布正式供货,Microsoft 将不提供任何支持。在此之前,请参阅以下资源:

  • 红色帽朝 OpenShift (Windows 服务器仅 2019年)。在 Windows 服务器 2019 Red Hat OpenShift 仍处于私有的预览。公开发行公告之前,Microsoft 将不提供支持。

支持的容器图像

Microsoft 提供了四个容器基图像的窗口:

  • Windows Server core。如果您的应用程序需要完整的.NET 框架,这是要使用的最佳图像。

  • 纳米服务器。对于应用程序只需要.NET 核心,Nano 服务器将提供更纤细的图像。

  • 窗口。您可能会发现应用程序依赖于一个组件或一个图像,如 GDI 库服务器核心或纳米服务器中缺少的.dll。此映像执行完全依赖项的组窗口。

  • 核心 Windows IoT。该图像是专门为 IoT 应用程序。当目标 IoT 核心主机时,应使用此容器图像。

    注意

    仅适用于 Windows 内部计划的成员正在 IoT 核心基本映像。

支持容器主机中所述,并不是所有的主机操作系统支持 Windows 服务器容器和 Hyper-V 容器。同样,不是所有的基本图像支持这两种容器类型。下表列出了可以创建的每个主机操作系统的系统上使用基本的每个图像的容器类型。

////

基本 OS 映像

容器主机操作系统

Windows 服务器核心

Nano 服务器

Windows

Windows IoT 核心

Windows 服务器 2016年或 2019年标准或数据中心

Windows 服务器容器 Hyper-V 容器

Windows 服务器容器 Hyper-V 容器

Windows 服务器容器 Hyper-V 容器

不支持

Windows Server 2016 Nano 服务器

不支持

Windows 服务器容器 Hyper-V 容器

Hyper-V 容器

不支持

Windows 10 专业版或者企业

Hyper-V 容器

Hyper-V 容器

Hyper-V 容器

不支持

Windows IoT 核心

不支持

不支持

不支持

Windows 服务器容器

Windows 容器主机支持容器基本 OS 映像

 

如果您计划使用容器主机运行和不同版本的 Windows 的版本,您还需要考虑的版本和发行版的容器图像。一些容器的功能不是向后兼容,因此一些较新的基本操作系统映像可能没有运行,在容器与旧版操作系统的主机上。基本 OS 映像版本和主机操作系统版本之间的兼容性问题的更多详细信息,请参阅Windows 容器版本兼容性

对容器的工作负载的支持

Microsoft 将完全支持其容器基本操作系统映像,这一节中所述。容器中的 Microsoft 应用程序的支持,请参阅 GitHub、 Microsoft 论坛或上 DockerHub Microsoft 知识库问题中的图像自定义容器。

当 Windows 容器中运行第三方应用程序,请参阅支持的应用程序供应商。特别要说明的是,应用程序供应商确认它们支持 Windows 容器中运行应用程序。

受支持的网络配置

Microsoft 提供完全支持Windows 容器网络功能。此功能包括主机网络服务 (HNS) 和主机计算服务 (HCS)。HNS 和 HCS 协同工作来创建容器 (HCS) 和连接到网络 (HNS) 的终结点。此外,它还包含下列容器网络驱动程序 (驱动程序的完整说明,请参阅Windows 容器网络驱动程序):

  • 网络地址转换 (NAT)。这是容器的网络的默认驱动程序。NAT 网络支持端口转发,并从容器容纳到容器的终结点映射。Microsoft 在具有Windows 10,1703 (也称为创建者更新) 版本安装的 Windows 10 容器主机上支持多个 NAT 网络。

  • 透明。用用户指定的子网配置,透明的网络支持与物理网络的静态 IP 地址或由外部的 DHCP 服务器分配的动态 IP 地址。在使用虚拟容器,主机上的容器中的透明的网络,您必须配置 MAC 地址欺骗。

  • 覆盖。Microsoft 支持覆盖 Docker 蜂群和 Kubernetes 业务流程使用的网络。若要使用覆盖网络,您的配置必须满足以下要求:

    • 容器主机运行 Windows 服务器 2019年、 Windows 服务器 2016 或 Windows 10 创建者更新。

    • 您的部署可以满足使用覆盖网络中所列的要求。

    • 在使用 Kubernetes 时,您正在使用 Flannel 或 OVN 控件窗格。

      警告

      对于内部部署 Windows Server 部署的 Kubernetes 仍处于预览 (测试版)。有关 Kubernetes 的信息支持,请参阅支持容器 orchestrators

  • L2Bridge。Microsoft 支持 L2Bridge 网络要分配给同一 IP 子网容器主机的容器。若要使用 L2Bridge 网络,您的配置必须满足以下要求:

    • 容器主机运行 Windows 服务器 2019年、 Windows 服务器 2016 或 Windows 10 创建者更新。

    • 从作为容器主机相同的前缀必须静态分配 IP 地址。

    • 您配置 MAC 地址欺骗。

  • L2Tunnel。Microsoft 主要支持 Microsoft 云堆栈中使用 L2Tunnel 网络。否则,对于 L2Tunnel 网络的要求类似于 L2Bridge 网络的要求。

高级的网络服务-支持和不支持的

Microsoft 支持交换机嵌入容器 Docker 所使用的主机网络的合作。Microsoft 不支持任何其他 NIC 分组为容器网络配置。有关详细信息,请参阅在 Windows 高级网络选项

为容器网络情况下,Microsoft 不支持以下功能:

Microsoft 不支持为 Docker 下面的命令和选项:

命令

不支持的选项

Docker run --ip6 --dns-option
Docker network create --aux-address --internal --ip-range --ipam-driver --ipam-opt --ipv6 --opt encrypted

 

容器的支持的服务帐户

Microsoft 支持容器中的 Active Directory 组托管服务帐户 (gMSAs)。

容器不能加入域。通过使用组托管服务帐户 (gMSAs),可以配置 Windows 容器本身和他们所承载的服务特定 gMSA 用作其域标识。他们使用加入域的主机标识一样,作为本地系统或网络服务运行的任何服务将使用 Windows 容器的标识。F或有关使用 gMSAs,请参见:

 

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

Microsoft 支持 Windows Defender 保护容器的主机。但是,它不支持 Windows Defender 在容器内运行。

Docker 提供有关第三方提供商和其终结点的信息在Windows 容器的端点安全保护产品。在使用第三方产品时,请验证该提供程序支持容器产品。请注意任何问题和相关的运行在容器内的产品的限制。此外,有关使用容器如何配置防病毒保护建议,请参阅防病毒优化 Windows 容器

  

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×