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

Google Cloud Build中Docker测试步骤突发137错误求助

Google Cloud Build Docker Compose流水线突发137错误排查

问题背景

近2个月来,基于Docker Compose的Cloud Build构建流水线一直运行正常——通过docker-compose搭建集成测试环境,用docker exec命令在container-dev主容器内执行单元和集成测试。但从9月13日开始,哪怕重试之前成功过的流水线,「Run Unit & Integration Tests」步骤都会无详细日志直接返回状态码137。

已经试过这些操作但没用:

  • 单独测试容器时减少内存占用,问题依旧
  • 扩容Cloud Build的资源配置,无效
  • 更新Google官方的gcr.io/cloud-builders/docker镜像,故障仍然存在

所有失败场景的共同点:都使用了gcr.io/cloud-builders/docker镜像。

可能的原因

  1. Cloud Build底层资源调度变更
    9月中旬Google Cloud Build可能调整了底层资源调度或隔离策略,就算扩容了资源配额,实际分配给gcr.io/cloud-builders/docker镜像容器的内存/CPU资源还是被限制,导致docker exec执行测试时触发内存不足(状态码137对应SIGKILL信号,通常是OOM killer终止进程)。

  2. gcr.io/cloud-builders/docker镜像隐性更新
    哪怕手动更新了镜像,最新版本可能引入了资源占用更高的依赖,或者Docker版本变更后和docker-compose出现兼容性问题,导致进程异常占用资源,最终被系统强制终止。

  3. Docker-in-Docker环境的资源隔离问题
    Cloud Build里用gcr.io/cloud-builders/docker属于Docker-in-Docker场景,9月13日后底层网络或资源隔离策略变了,导致容器内的docker exec命令没法获取足够资源,进程直接被终止。

排查建议

  • 在测试步骤前加内存监控命令,比如free -m、docker stats --no-stream,输出资源使用情况,确认是不是真的内存不足
  • 把gcr.io/cloud-builders/docker镜像换成9月13日前的旧版本,验证是不是镜像更新导致的问题
  • 别用docker exec,直接在docker-compose里把测试命令设为容器启动命令,避免跨容器执行的资源开销
  • 提交Google Cloud支持工单,查询9月13日前后Cloud Build的服务变更记录,确认有没有影响Docker-in-Docker场景的更新

内容的提问来源于stack exchange,提问作者Dom.MB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:11:05