Windows 容器基础映像概述

适用于:Windows Server 2025、Windows Server 2022、Windows Server 2019、Windows Server 2016

Windows 提供四个可从中生成的容器基础映像。 每个基础映像都是不同类型的 Windows 或 Windows Server 操作系统。 每个基础映像具有不同的磁盘占用空间和一组不同的 Windows API 集。

映像发现

可以通过 Docker 中心发现所有 Windows 容器基础映像。 Windows 容器基础映像本身来自 mcr.microsoft.com Microsoft容器注册表(MCR)。 之所以 Windows 容器基础镜像的拉取命令看起来像以下命令,是因为这个注册表:

docker pull mcr.microsoft.com/windows/servercore:ltsc2025

MCR 没有自己的目录功能体验。 相反,它支持现有目录,例如 Docker Hub。 借助 Azure 的全球足迹和 Azure 内容分发网络,MCR 提供一致且快速的图像拉取体验。 Azure 客户受益于更快的网络内速度,并与 MCR、Azure 市场和其他 Azure 服务紧密联系。 许多 Azure 服务现在使用容器作为其部署格式。

选择基础映像

如何选择用作构建基础的合适基础映像? 对于大多数用户,Windows Server CoreNanoserver 是最合适使用的图像。 以下列表中简要描述了每个基本映像:

  • Nano Server 是用于新应用程序开发的超轻型 Windows 产品/服务。
  • Server Core 中等大小,是“提升和迁移”Windows Server 应用的不错选项。
  • Windows 是最大的映像,并且对工作负载具有完整的 Windows API 支持。
  • Windows Server 比 Windows 映像略小,具有完整的 Windows API 支持,并允许你使用更多服务器功能。

指南

虽然你可以随意以要使用的图像为目标,但请考虑以下准则:

  • 你的应用程序是否需要完整的 .NET Framework? 如果是,则为 target Windows Server Core
  • 你是否基于 .NET Core 构建 Windows 应用? 如果是,则为 target Nanoserver
  • Windows Server Core 容器映像是否缺少你的应用所需的依赖项? 如果是,请尝试定位 Windows。 此图像大于其他基础映像,但它承载许多核心 Windows 库(如图形设备接口库)。
  • 你是 Windows 预览体验成员吗? 如果是,请考虑使用映像的内测版本。 有关详细信息,请参阅以下部分的“Windows 预览体验计划成员基础映像”。
  • 容器工作负载是否需要 GPU 加速支持? 如果是,请考虑使用 Windows Server 映像为您的 Windows 容器工作负载添加硬件加速。

提示

许多 Windows 用户希望将依赖于 .NET 的应用程序容器化。 除了此处所述的四个基本映像外,Microsoft 还发布了几种 Windows 容器映像,这些映像预配置了常用的 Microsoft 框架,如 .NET 框架 映像和 ASP.NET 映像。

Windows 与 Windows Server

图像 Windows Server (3.1 GB)略小于 Windows 图像(3.4 GB)。 Windows Server 映像还继承了 Server Core 映像的性能和可靠性改进,支持 GPU,且 IIS 连接不受限制。 若要使用最新的 Windows Server 映像,需要安装 Windows Server 2025。 Windows 映像不适用于 Windows Server 2025。

适用于 Windows 预览体验成员的基础映像

Microsoft 提供了每个容器基础映像的“预览体验”版本。 这些内部容器映像提供了我们容器映像中的最新功能开发。 运行内测版 Windows(Windows 内测版或 Windows Server 内测版)主机时,请使用这些映像。 Docker Hub 中提供了以下预览体验版映像:

若要了解详细信息,请参阅 将容器与 Windows 预览体验计划配合使用

Windows Server Core 与 Nano Server

Windows Server Core 和 Nano Server 是最常见的目标基础映像。 这些图像之间的主要区别在于 Nano Server 的 API 图面较小。 Nano Server 映像中缺少 PowerShell、WMI 和 Windows 服务堆栈。

Nano Server 提供足够的 API 图面来运行依赖于 .NET Core 或其他新式开源框架的应用。 作为对较小 API 接口范围的权衡,Nano Server 映像的磁盘占用空间比其他 Windows 基础映像更小。 你始终可以根据需要为 Nano Server 添加层。 有关此情况的示例,请查看 .NET Core Nano Server Dockerfile