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

Apple M1芯片下GKE运行Docker镜像时gunicorn报Exec format error求解决

解决GKE中“exec /usr/local/bin/gunicorn exec format error”错误

问题根源

MacBook M1 Pro搭载ARM64架构,默认构建的Docker镜像是ARM64版本,但GKE的Worker节点大多采用x86_64(AMD/Intel)架构,跨架构运行二进制文件会触发执行格式不兼容错误。

解决方法

  • 构建多架构镜像
    使用Docker Buildx构建同时支持x86_64和ARM64的镜像,推送后GKE会自动匹配节点架构:

    # 初始化Buildx环境(首次使用执行)
    docker buildx create --use
    # 构建并推送多架构镜像,替换为你的仓库地址和标签
    docker buildx build --platform linux/amd64,linux/arm64 -t your-image-repo:tag --push .
    
  • 强制构建x86_64架构镜像
    如果仅需在GKE的x86节点运行,直接指定架构构建:

    docker build --platform linux/amd64 -t your-image-repo:tag .
    docker push your-image-repo:tag
    
  • 修改Dockerfile指定基础镜像架构
    在FROM指令中明确选择x86_64版本的Python基础镜像:

    FROM python:3.7-amd64
    WORKDIR /app
    COPY . /app
    RUN pip install -r requirements.txt
    EXPOSE 80
    ENTRYPOINT ["gunicorn", "-w", "2", "-b", ":80", "main:app", "--timeout", "300"]
    

    完成修改后正常构建并推送镜像即可。

验证

推送新镜像后,重新部署GKE Pod,查看Pod日志确认错误已消除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:02:20