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

为何Docker经Jenkins Job运行失败,报CoreCLR创建错误0x80070008?

解决Jenkins运行PowerShell容器时的CoreCLR创建失败问题

Job层面可行解决方案

1. 精准配置容器内存参数

尽管你尝试过设置2G内存限制,但可能Jenkins侧的内存配置未正确生效。在Jenkins Job的容器运行命令中添加预留内存+硬性限制的组合参数:

docker run --memory-reservation 1g --memory 3g your-image:latest ...

预留内存确保容器启动时有基础可用内存,避免初始化CoreCLR时因内存瞬时不足触发错误。

2. 强制启用.NET Server GC模式

在容器启动命令中添加环境变量,切换到更适合容器环境的Server GC模式:

docker run -e COMPlus_GCServer=1 -e COMPlus_GCHeapCount=2 your-image:latest pwsh -command "./your-script.ps1"

Server GC针对多线程场景优化,能避免因内存分配异常导致的CoreCLR创建失败。

3. 限制Job并发执行避免资源竞争

如果Jenkins Slave同时运行多个任务,可能导致容器启动时资源被抢占:

  • 取消勾选Job配置中的Execute concurrent builds if necessary,确保该Job独占Slave资源
  • 或在General设置中开启Throttle Concurrent Builds,将该Job的并发数限制为1

4. 切换稳定版PowerShell基础镜像

latest标签的镜像可能存在兼容性问题,在Job中指定LTS稳定版本镜像(先本地验证可用):

docker run mcr.microsoft.com/powershell:7.2.13-ubuntu-22.04 ...

选择经过长期验证的旧版本,能规避新版本在容器环境中的潜在bug。

5. 以非root用户运行容器

尝试切换用户权限运行容器,避免权限冲突导致的CoreCLR初始化异常:

docker run -u 1000:1000 your-image:latest pwsh -command "./your-script.ps1"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 20:22:56