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

Windows环境运行FastAPI Docker Compose时遇exec ./run.sh文件未找到错误

Docker容器执行run.sh提示文件不存在但实际存在的问题

我在跟着FastAPI教程做Docker部署时遇到问题:运行docker compose后,数据库容器正常运行,但Web容器启动后立刻退出,Docker日志显示错误:exec ./run.sh: no such file or directory。

我定位问题可能出在Dockerfile的CMD命令行。我用的是Windows机器,知道这类环境下Docker挂载容易出问题,但不确定是不是这个原因。终端执行命令时没有任何错误或警告,只有Docker Desktop日志显示上述错误。

我找过相关的解决方案帖子,尝试过指定解释器、用sed命令清理文件换行符,也确认仓库里的run.sh已经设置了可执行权限,但这些方法都没用。

为了排查,我在CMD ["./run.sh"]前加了RUN pwd && ls -l命令,确认执行到这一步时容器处于/app目录,且run.sh确实存在并具备执行权限,输出如下:

#14 [10/10] RUN pwd && ls -l
#14 0.445 /app
#14 0.447 total 112
#14 0.447 drwxr-xr-x  3 root root  4096 Nov 29 14:04 alembic
#14 0.447 -rwxr-xr-x  1 root root  1663 Nov 29 14:04 alembic.ini
#14 0.447 drwxr-xr-x 11 root root  4096 Nov 29 14:04 app
#14 0.447 -rwxr-xr-x  1 root root 83711 Nov 29 14:04 poetry.lock
#14 0.447 -rwxr-xr-x  1 root root   345 Nov 29 14:04 prestart.py
#14 0.447 -rwxr-xr-x  1 root root   180 Nov 29 14:04 prestart.sh
#14 0.447 -rwxr-xr-x  1 root root   641 Nov 29 14:04 pyproject.toml
#14 0.447 -rwxr-xr-x  1 root root   708 Nov 29 14:04 run.sh
#14 DONE 0.5s

#15 exporting to image
#15 exporting layers
#15 exporting layers 0.8s done
#15 writing image sha256:a14684e21dd168ec37696fc64f1d57dbd05a146ff8694cf2fe6fc4a134014500 done
#15 DONE 0.8s

现在完全搞不懂明明文件存在且有权限,为什么会提示找不到或无法执行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 13:22:13