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

docker run报standard_init_linux.go:228 exec format错误如何解决

Docker启动报错exec format error解决方案

报错原因

standard_init_linux.go:228: exec user process caused: exec format error报错的核心原因是:你在覆盖容器默认CMD时,直接传入了Python脚本路径作为启动命令,系统会将该路径视为独立的可执行二进制文件处理,但你的Python脚本没有配置可执行权限,也没有在头部声明对应解释器的shebang标记,系统无法识别该脚本的执行方式,因此抛出格式错误。

解决方法

  • 方案1:启动时显式指定Python解释器(无需修改镜像,立即可用)

    运行容器时在脚本路径前加上Python解释器声明即可,命令如下:
    docker run --name singada4 singada python /app/hello_cmd.py
    
  • 方案2:配置脚本支持直接调用(适合长期使用场景)

    如果你需要后续可以直接传入脚本路径作为启动命令,可修改Dockerfile调整镜像配置:
    1. 首先在所有Python脚本的第一行添加shebang声明:#!/usr/bin/env python
    2. 修改Dockerfile,给脚本添加可执行权限:
    FROM python:3.7-alpine
    RUN mkdir /app
    COPY hello_there.py hello_cmd.py /app
    # 新增:给Python脚本添加可执行权限
    RUN chmod +x /app/*.py
    CMD ["python","/app/hello_there.py"]
    
    重新构建镜像后,你原来的启动命令docker run --name singada4 singada /app/hello_cmd.py即可正常运行。

内容的提问来源于stack exchange,提问作者MD. Ashfaqur Rahman Tahashin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:06:03