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

Azure Container Jobs执行失败无日志,如何排查容器终止原因?

排查Azure Container Jobs退出码139的问题

1. 获取容器控制台日志

通过Azure Portal查询

进入对应Container App环境的目标Job(acjob3),切换到日志标签页,使用精准的Kusto语句过滤日志:

// 拉取容器控制台日志
ContainerAppConsoleLogs_CL
| where ContainerName_s == "acjob3"
| order by TimeGenerated desc

如果存在重复的ContainerAppSystemLogs_CL表,可通过资源ID指定环境过滤:

ContainerAppSystemLogs_CL
| where _ResourceId == "/subscriptions/你的订阅ID/resourceGroups/你的资源组/providers/Microsoft.App/managedEnvironments/你的环境名"
| where ContainerName_s == "acjob3"
| order by TimeGenerated desc

通过Azure CLI拉取

执行以下命令直接获取Job的日志输出:

az containerapp job logs show --name acjob3 --resource-group 你的资源组名 --environment 你的环境名

2. 解析退出码139的常见原因

退出码139对应SIGSEGV(段错误),常见触发场景:

  • 应用代码存在内存访问错误(如空指针引用、数组越界)
  • 容器内存配额不足,进程因内存耗尽被终止(部分场景下OOM会返回139而非标准137)
  • 依赖库版本不兼容,导致运行时崩溃

3. 补充排查手段

  • 本地复现运行:将Job使用的镜像拉到本地,用Docker模拟运行查看错误:
    docker run --name test-acjob3 你的镜像地址
    
  • 调整资源限制:临时调高Job的内存分配,排除内存不足导致的崩溃
  • 确认应用日志输出:确保应用将错误日志输出到stdout/stderr,Azure会自动收集这些日志到ContainerAppConsoleLogs_CL表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:52:10