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

Azure Container Apps部署启动报standard_init_linux.go:228 exec格式错误原因是什么?

exec format error 报错原因说明

对应报错日志:standard_init_linux.go:228: exec user process caused: exec format error

该报错的核心本质是容器启动时加载的入口程序,与当前容器运行的CPU架构、系统环境不兼容,具体触发原因分为以下几类:

  • 镜像构建架构与运行环境架构不匹配
    这是最常见的触发原因:比如在苹果M系列Arm架构设备上默认构建的Arm64架构镜像,部署到默认使用amd64架构的Azure Container Apps环境运行时就会报错;反过来在x86设备上构建的amd64镜像,指定容器应用使用Arm架构运行也会出现该问题。
  • 入口脚本格式不兼容Linux环境
    如果在Windows系统下编写容器启动的Shell脚本,默认使用CRLF作为换行符,放到Linux容器中无法被系统正确识别,也会触发格式错误。
  • 入口文件属性配置错误
    Dockerfile中ENTRYPOINT或CMD指定的启动入口没有可执行权限,或者错误将非可执行文件、损坏的二进制文件设置为启动入口,也可能触发该报错。
  • 多架构镜像构建配置异常
    使用buildx等工具构建多架构兼容镜像时,配置错误导致实际推送到镜像仓库的镜像架构缺失,拉取到本地的镜像和运行环境不匹配,同样会出现该问题。

快速排查方案

  • 构建镜像时明确指定与Azure Container Apps运行环境一致的架构,比如需要运行在amd64环境时,可在docker build命令中添加--platform linux/amd64参数强制生成对应架构镜像
  • 检查启动脚本的换行符格式,调整为Linux兼容的LF格式,同时在Dockerfile中添加RUN chmod +x 你的启动脚本路径指令赋予执行权限
  • 确认Dockerfile中ENTRYPOINT/CMD指向的文件路径正确,对应文件是对应架构下的可执行文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:15:05