本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像基于 Windows Server 容器技术构建,提供标准化的 Windows 平台 CI/CD 构建环境。集成主流开发工具链、依赖管理工具及环境配置,旨在消除"在我机器上能运行"的环境差异问题,确保跨团队、跨环境的构建一致性。
预装完整工具链
包含 .NET SDK(支持 Framework/Core/5+ 全版本)、Visual Studio Build Tools、MSBuild、PowerShell 7+ 等核心构建工具
依赖管理集成
内置 NuGet、Chocolatey、npm(Windows 版)等依赖管理工具,支持一键安装项目依赖
多版本兼容性
提供基于 Windows Server 2019 (ltsc2019)、2022 (ltsc2022) 的镜像变体,适配不同项目的系统依赖需求
环境隔离与一致性
容器化设计确保每次构建在隔离环境中执行,避免依赖冲突和环境污染
可定制化配置
通过环境变量、卷挂载实现工具版本控制、缓存策略及构建参数的灵活配置
CI 平台适配
内置与主流 CI 系统兼容的日志输出格式和进程管理机制,支持后台任务执行与结果返回
docker run --rm ` -v ${PWD}:/src ` -v ${PWD}/output:/output ` mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci ` powershell -Command "cd /src; dotnet build -o /output"
docker run --rm ` -e DOTNET_SDK_VERSION=7.0.400 ` -v ${PWD}:/src ` -v ${PWD}/output:/output ` mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci ` powershell -Command "dotnet --version; cd /src; dotnet build"
version: '3.8' services: windows-ci-build: image: mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci container_name: windows-ci-instance environment: - DOTNET_SDK_VERSION=8.0.100 - HTTP_PROXY=[***] - BUILD_CACHE_DIR=C:\cache - LOG_LEVEL=debug volumes: - ${PWD}/src:C:\src:ro # 只读挂载源代码 - ${PWD}/artifacts:C:\output # 挂载构建输出目录 - ${PWD}/.nuget-cache:C:\cache # 缓存卷加速依赖下载 command: > powershell -Command " dotnet restore C:\src\MyProject.sln --packages C:\cache; dotnet build C:\src\MyProject.sln -c Release -o C:\output; dotnet test C:\src\MyProject.Tests\MyProject.Tests.csproj --no-restore "
| 环境变量名 | 描述 | 默认值 | 可选值示例 |
|---|---|---|---|
DOTNET_SDK_VERSION | 指定 .NET SDK 版本 | 6.0.413 | 5.0.408, 7.0.400, 8.0.100 |
VS_BUILD_TOOLS_VERSION | Visual Studio Build Tools 版本 | 2022 | 2019, 2022 |
HTTP_PROXY | HTTP 代理地址(用于依赖下载) | - | [***] |
HTTPS_PROXY | HTTPS 代理地址 | - | [***] |
NO_PROXY | 不使用代理的域名列表(逗号分隔) | localhost,127.0.0.1 | example.com,internal.service |
BUILD_CACHE_DIR | 依赖缓存目录路径 | C:\.nuget\packages | C:\cache, D:\build-cache |
LOG_LEVEL | 构建日志输出级别 | info | debug, info, warn, error |
ENABLE_CODE_COVERAGE | 是否启用代码覆盖率收集 | false | true, false |
| 容器内路径 | 用途说明 | 宿主机路径示例 | 权限 |
|---|---|---|---|
C:\src | 源代码目录 | ${PWD}/src | ro |
C:\output | 构建输出目录(二进制/包文件) | ${PWD}/artifacts | rw |
C:\cache | 依赖缓存目录(NuGet/工具缓存) | ${PWD}/.build-cache | rw |
C:\logs | 构建日志输出目录 | ${PWD}/logs | rw |
# .github/workflows/windows-build.yml name: Windows CI Build on: [push, pull_request] jobs: build: runs-on: windows-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Run Windows CI container run: | docker run --rm ` -e DOTNET_SDK_VERSION=7.0 ` -e BUILD_CACHE_DIR=C:\cache ` -v ${PWD}:/src ` -v ${PWD}/artifacts:/output ` -v ${PWD}/cache:/cache ` mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci ` powershell -Command "cd /src; dotnet build -o /output" - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: windows-build-output path: artifacts/
pipeline { agent any stages { stage('Windows Build') { steps { script { docker.image('mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci').withRun( "-e DOTNET_SDK_VERSION=7.0 " + "-v ${workspace}/src:C:/src " + "-v ${workspace}/output:C:/output" ) { c -> docker exec c powershell -Command "dotnet build C:/src/MyApp.csproj -o C:/output" } } } post { success { archiveArtifacts artifacts: 'output/**/*.dll', fingerprint: true } } } } }
镜像版本选择:根据项目依赖选择基础镜像版本(如 ltsc2019 对应 Windows Server 2019,ltsc2022 对应 2022),避免版本混用导致兼容性问题。
资源分配:Windows 容器资源消耗高于 Linux 容器,建议为 CI 节点配置至少 8GB 内存,构建大型项目时需增加至 16GB。
路径格式:容器内路径需使用 Windows 风格(如 C:\src),Docker CLI 中可兼容 Unix 风格路径(如 /src),但卷挂载推荐显式使用 C:\ 前缀。
安全更新:定期拉取镜像更新以获取工具链安全补丁,生产环境建议固定版本标签(如 ltsc2022-v1.2.0)而非使用 latest。
权限控制:宿主机挂载目录需确保容器进程有读写权限(Windows 下建议将目录设置为"共享给容器")。
A:检查网络连接或配置 HTTP_PROXY 环境变量;挂载缓存卷(如 .nuget-cache)避免重复下载;验证依赖源(NuGet 源)可访问性。
A:确认宿主机路径格式正确(如 C:\projects\src),且未设置只读权限(除非明确指定 :ro);检查 Windows Defender 或防火墙是否阻止容器访问文件。
A:部分基础镜像仅预装指定版本 SDK,需选择包含目标版本的镜像标签(如 ltsc2022-sdk-7.0);或通过 Chocolatey 在容器内手动安装:
choco install dotnet-sdk-8.0 -y --no-progress
A:GitHub Actions Windows Runner 已内置部分构建工具,简单场景可直接使用 Runner 环境;复杂环境建议通过 services 配置容器化构建:
services: windows-ci: image: mcr.microsoft.com/windows/servercore:ltsc2022-windows-ci volumes: - ${{ github.workspace }}:/src
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429