本快速入门介绍了在 Windows 和 Windows Server 上构建容器就绪环境的各种方法。 还可以安装容器运行时。
容器提供一个轻型隔离环境,使应用更易于开发、部署和管理。 在使用容器之前,需要设置适当的运行时。
本快速入门适用于 Windows Server 2025、Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 11 和 Windows 10。
本快速入门所需的环境取决于您的操作系统(OS)。
Windows 10 和 Windows 11
若要在 Windows 10 或 Windows 11 上运行容器,需要以下环境:
一个运行 Windows 11 或 Windows 10 且具有周年更新(版本 1607)或更高版本的物理计算机系统
专业版或企业版
已启用
Hyper-V
默认情况下,Windows Server 容器在 Windows 10 和 Windows 11 上使用 Hyper-V 隔离,为开发人员提供生产中使用的相同内核版本和配置。 有关 Hyper-V 隔离的详细信息,请参阅
隔离模式
。
Windows Server
若要在开发环境中运行 Windows Server 容器,需要运行 Windows Server 的物理服务器或虚拟机(VM)。
若要进行测试,可以下载
Windows Server 2025 评估
版或
Windows Server 预览体验计划预览版
的副本。
构建为容器准备的环境时采用的方法取决于操作系统。 它还取决于其他因素,例如实现的复杂性和成本。
Windows 10 和 Windows 11
在 Windows 10 和 Windows 11 专业版和企业版上,可以使用 Docker Desktop 运行容器化应用。 Docker Desktop 提供了用于管理容器、应用和映像的方法。
Windows Server
对于许多应用程序和业务流程模式,需要生成和部署自己的自定义 VM。 随着对 Windows 容器运行时的支持
转换为
Mirantis,容器运行时不再作为市场 VM 产品/服务的一部分提供。 本指南的其余部分展示了如何在安装了容器运行时并准备就绪的情况下为 Azure 构建 VM。
Azure 继续通过云和本地的 Azure Kubernetes 服务(AKS)提供完全托管的端到端体验。 Azure Stack HCI 上的 AKS 和 Azure Kubernetes 服务是完全托管服务,管理开销低于自定义部署。 Azure 订阅下的 AKS 和 Azure Stack HCI 服务上的 Azure Kubernetes 服务中包括对容器运行时的支持。
使用 Azure CLI 在 Azure Kubernetes 服务 (AKS) 群集上部署 Windows Server 容器
在 Azure 本地和 Windows Server 上设置 Azure Kubernetes 服务主机,并使用 PowerShell 部署工作负荷群集
可以使用其他选项来尽可能顺利地创建容器就绪的 Azure 虚拟机。 两个示例包括 Azure VM 映像生成器和自定义脚本扩展。 比较选项时,请记住以下几点。 由组织决定要优化哪些方面。
实现它有多复杂?
成本是多少?
它如何影响生产中的工作负荷?
以下小节讨论 VM 映像生成器和自定义脚本扩展的优缺点,并演示如何入门。
VM 映像生成器
使用 VM 映像生成器的好处是,配置是在生成期间完成的,在运行时不会对工作负荷产生任何影响。 当 VM 规模集从自定义映像实例化新 VM 时,该映像已预装,并且已准备好运行容器。
但是,VM 映像生成器可能比脚本扩展更复杂,并且涉及更多步骤。 此外,VM 映像生成器服务是免费的,但必须支付与生成过程关联的计算、存储和网络使用情况的费用。 有关详细信息,请参阅
成本
。
有关生成自己的 Windows Server VM 映像的详细分步过程,请参阅
使用 Azure VM 映像生成器创建 Windows VM
。 若要安装所选容器运行时,请使用本指南中的 PowerShell 脚本。
请确保将您计划在 VM 上使用的容器镜像缓存到本地。 这种做法有助于改进容器在部署后的启动时间。 有关帮助执行此任务的脚本,请参阅本快速入门后面的
Windows Server
。
自定义脚本扩展
自定义脚本扩展比 VM 映像生成器解决方案更快实现。 与扩展关联的唯一成本是在 Azure 或 GitHub 中存储脚本的价格。 但是,脚本只能在预配 VM 后运行。 因此,预算必须包括在横向扩展时间准备 VM 的额外时间。
使用本指南中提供的脚本,将 VM 规模集配置为在预配后安装所选的容器运行时。 若要使用自定义脚本扩展自动执行在 Azure VM 上安装应用的过程,请参阅
教程:使用 Azure CLI 在虚拟机规模集中安装应用程序
。
安装容器运行时
用于安装容器运行时的过程取决于 OS。
Windows 10 和 Windows 11
若要在 Windows 10 或 Windows 11 专业版和企业版上安装 Docker,请执行以下步骤:
下载并安装
Docker Desktop
,如果还没有 Docker 帐户,请创建一个 Docker 帐户。 可以为个人或小型企业用户创建免费的 Docker 帐户。 然而,对于大型企业来说,每月会收取费用。 有关详细信息,请参阅
Docker 文档
。
在安装过程中,将默认容器类型设置为 Windows 容器。 若要在安装完成后切换类型,请执行以下步骤之一:
在 PowerShell 提示符中运行以下命令:
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon
使用 Windows 系统托盘中的 Docker 项,如以下屏幕截图所示:
若要使用 Windows Admin Center 将 Windows Server 计算机设置为容器主机,请执行以下步骤:
在 Windows Admin Center 中,确保已安装最新的容器扩展。 有关安装和配置扩展的详细信息,请参阅 Windows Admin Center 文档。
打开要配置的 Windows Server 计算机。
在侧面板的 “工具”下,选择“ 容器”。
选择 安装。
Windows Admin Center 在后台启动 Windows Server 和 Docker 的配置。
完成此过程后,刷新页面以查看容器扩展的其他功能。
Windows Server
若要运行 Windows 容器,必须在计算机上提供受支持的容器运行时。 Windows 上当前支持的运行时是 Moby、Mirantis 容器运行时和 containerd。
本部分介绍如何在运行 Windows Server 的 VM 上安装每个运行时。 对于 Moby 和容器运行时,可以使用 PowerShell 脚本在几个步骤中完成安装。
Docker Community Edition (Docker CE) 为容器提供标准运行时环境。 环境提供通用 API 和命令行接口。 Docker CE 的框架和组件由开源社区作为 Moby 项目的一部分进行管理。
若要开始使用 Windows Server 上的 Docker,请使用以下命令运行 install-docker-ce.ps1 PowerShell 脚本。 此脚本将环境配置为启用与容器相关的 OS 功能。 该脚本还会安装 Docker 运行时。
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1
有关配置 Docker 引擎的详细信息,请参阅 Windows 上的 Docker 引擎。
Mirantis 容器运行时(正式称为 Docker Enterprise Edition(Docker EE)提供与 Docker CE 相同的功能,以及专为企业部署构建的额外功能。 有关安装此运行时的说明,请参阅 Mirantis 容器运行时。
containerd 后端是一个行业标准的容器运行时,强调简单性、稳健性和可移植性。 它作为 Linux 和 Windows 的守护程序提供,它可以管理其主机系统的完整容器生命周期。 此运行时提供映像传输和存储、容器执行和监督、低级别存储和网络附件和其他容器管理任务的功能。
nerdctl 工具是用于容器的 Docker 兼容的命令行接口。
使用以下命令运行 install-containerd-runtime.ps1 PowerShell 脚本。 此脚本安装容器、nerdctl 和与容器相关的 OS 功能。
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-ContainerdRuntime/install-containerd-runtime.ps1" -o install-containerd-runtime.ps1
.\install-containerd-runtime.ps1
install-containerd-runtime.ps1 脚本还会安装 Windows 容器网络接口(CNI)插件。但你需要配置 ctr 和 nerdctl 命令行接口工具,以使用最适合你的 CNI 配置。
有关详细信息,请参阅以下资源:
有关在 Windows 上安装容器的说明
安装和配置容器的说明
在 Windows 上安装 nerdctl 的说明
适用于 containerd 的更高级的社区安装程序