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

Docker执行develop.sh报错:文件不存在但已置于根目录

解决Docker执行develop.sh报错no such file or directory的问题

可能的原因及修复方案

1. 给develop.sh添加执行权限

Dockerfile仅复制了脚本文件,但未赋予容器内脚本可执行权限,导致无法运行。修改Dockerfile,在复制脚本后添加权限配置:

COPY develop.sh .
RUN chmod +x develop.sh

或者在最后一次全量复制后补全权限:

COPY . .
RUN chmod +x ./develop.sh

2. 修复脚本换行格式

若在Windows环境下拉取或编辑过develop.sh,脚本行尾会是CRLF格式,而Linux容器仅识别LF格式,这会触发执行报错。

  • 本地修复:用VS Code等编辑器打开脚本,点击右下角行尾格式标识,切换为LF后保存,再重新构建镜像。
  • Dockerfile内修复:先安装格式转换工具,再修正脚本:
RUN apt-get install -y python dos2unix
RUN dos2unix ./develop.sh

3. 调整ENTRYPOINT执行路径

改用绝对路径执行脚本,规避相对路径的潜在问题:

ENTRYPOINT ["/app/medusa/develop.sh"]

或使用shell形式的ENTRYPOINT(通过shell进程执行脚本,兼容更多路径与权限场景):

ENTRYPOINT ./develop.sh

4. 修正文件复制顺序问题

当前Dockerfile先单独复制develop.sh,之后又执行COPY . .全量覆盖。若本地develop.sh本身无执行权限或格式错误,第二次复制会覆盖已修正的文件。可调整复制顺序,或确保本地develop.sh本身是LF格式且具备可执行权限。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:01:12