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

Docker构建Python应用失败:exec format error错误求助

解决Docker构建Python应用时的"exec format error"问题

错误原因

exec format error 核心原因是基础镜像架构与宿主机器不兼容:比如在Apple Silicon(ARM64)设备上使用了默认的x86_64架构Python镜像,或者在x86_64机器上拉取了ARM64架构镜像,导致容器内的二进制文件无法在宿主系统的CPU架构下正常执行。

解决方案

1. 明确指定匹配宿主架构的基础镜像

在Dockerfile的FROM指令中添加平台标识,强制拉取对应架构的镜像:

  • 若宿主是ARM64架构(如Apple Silicon Mac):
FROM --platform=linux/arm64 python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./manage.py" ]
  • 若宿主是x86_64架构(如普通PC/服务器):
FROM --platform=linux/amd64 python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./manage.py" ]

2. 清理本地缓存并重新拉取适配架构的镜像

如果之前拉取的python:3是错误架构版本,先删除本地镜像:

docker rmi python:3

重新拉取时,Docker会自动匹配宿主架构(Python官方镜像支持多架构):

docker pull python:3

3. 检查buildx跨架构构建配置(若使用buildx)

如果开启了Docker buildx跨架构构建,确保构建时指定本地架构:

docker buildx build --platform=local -t your-python-app .

验证

修改完成后,重新执行构建命令:

docker build -t your-python-app .

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:07:09