You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建Windows Docker镜像是否需虚拟化及GitHub Runner相关技术问询

问题
  1. 执行docker build构建Windows Docker镜像时是否需要虚拟化能力?若需要请提供相关文档参考。
  2. GitHub托管的Windows Runner是否支持虚拟化?还是仅安装了Docker?

背景

我希望使用GitHub Action构建Windows镜像并推送到ECR,目前已通过GitHub托管的Windows Runner成功完成该操作。现计划创建自托管GitHub Runner来执行此Action。我了解运行Windows Docker容器需要Hyper-V或某种虚拟化能力,但未找到构建Windows容器是否需要该能力的相关信息。补充信息:曾有一段时间Windows GitHub Runner不支持任何容器操作,但现在已安装Docker。我需要确定自托管Windows GitHub Runner构建Windows Docker镜像所需的配置项。


回答

1. 构建Windows Docker镜像是否需要虚拟化能力?

是,构建Windows Docker镜像必须依赖虚拟化能力。

  • Windows容器分为Hyper-V隔离和进程隔离两种模式:前者完全依赖Hyper-V虚拟化,后者虽允许容器与主机共享内核,但要求主机与容器镜像的Windows版本完全匹配,且必须先启用Windows容器功能——而该功能的启用依赖系统虚拟化组件(CPU需支持SLAT、虚拟化技术)。
  • 官方文档明确指出,无论运行还是构建Windows容器,都需要启用Hyper-V或Windows容器功能,这些都以系统具备虚拟化支持为前提。

2. GitHub托管的Windows Runner的支持情况

GitHub托管的Windows Runner同时预装Docker并支持虚拟化:

  • 当前托管的Windows Runner已默认安装Docker Desktop,配置为支持Windows容器模式,底层已启用Hyper-V虚拟化能力,这也是你能在上面成功构建镜像的核心原因。
  • 早期确实存在不支持容器操作的阶段,但目前该功能已完全开放。

自托管Windows Runner的配置要求

要让自托管Runner能够构建Windows Docker镜像,需完成以下配置:

  • 启用Windows容器功能:执行命令 Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
  • 启用Hyper-V:执行命令 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All,同时确保BIOS中开启CPU虚拟化(Intel VT-x/AMD-V)以及SLAT功能
  • 安装Docker Desktop:选择Windows容器模式完成安装
  • 权限配置:确保GitHub Runner服务以拥有管理员权限的账户运行,容器操作需要较高系统权限

内容的提问来源于stack exchange,提问作者Sarah Ganci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 20:37:37