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

Docker运行Django镜像报错standard_init_linux.go exec format error求助

错误诱因

exec format error本质是系统无法识别待执行文件的格式,结合你提供的场景,大概率是以下两个原因:

  • entrypoint.sh脚本使用了Windows平台的CRLF换行符,Linux系统解析脚本首行的#!/bin/sh shebang声明时,会把末尾的\r识别为文件名的一部分,找不到对应的解释器,直接抛出格式错误
  • 你的Dockerfile开头多写了一行无效的#!/bin/bash,Dockerfile不是shell脚本,不需要shebang声明,属于错误写法会干扰构建逻辑

排查解决步骤

  1. 先删除Dockerfile第一行的#!/bin/bash冗余声明
  2. 检查并转换entrypoint.sh的换行符格式:
    • 执行命令cat -A entrypoint.sh,如果每行结尾显示^M$就说明是CRLF换行符
    • 执行sed -i 's/\r$//' entrypoint.sh直接把换行符替换为Linux标准的LF格式,也可以用dos2unix工具转换
  3. 完成修改后重新构建镜像再启动即可
  4. 如果问题还存在,可以临时把Dockerfile中的ENTRYPOINT改为ENTRYPOINT ["sh", "/app/entrypoint.sh"],强制用sh解释器执行脚本,绕开shebang解析的问题验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:06:05