![[Bug]: v0.26.4 docker up failed for missing files](https://www.chat-gpts.plus/wp-content/uploads/2026/07/16729-23e77327.jpg)
[Bug]: v0.26.4 docker up failed for missing files
快速结论:这个报错通常发生在用户从 Git 仓库中拉取代码后,直接使用 docker compose up 启动 v0.26.4 版本时,由于工作区代码版本与 Docker 镜像版本不一致,导致 entrypoint.sh 引用了 v0.27.0 开发分支中才存在的 tools/scripts/run_migrations.sh 脚本,但该脚本在 v0.26.4 发布时尚未被创建。优先排查当前 Git 签出(checkout)的版本是否为干净的 v0.26.4 标签。
问题场景
用户在 Linux 系统(Lubuntu 24.04.4)上,使用 docker compose 启动 RAGFlow v0.26.4 容器时,容器日志中反复出现脚本缺失错误,导致服务无法正常启动。
报错原文
./entrypoint.sh: line 258: tools/scripts/run_migrations.sh: No such file or directory
原因分析
这是一个典型的版本混合问题(version mismatch)。tools/scripts/run_migrations.sh 文件是作为 v0.27.0 开发的一部分(由 PR #16604 引入,于 2026-07-08 合并)才被创建的。而 v0.26.4 版本发布于 2026-07-07,在该脚本被创建之前。entrypoint.sh 中引用了该脚本,但实际代码库中并不存在该文件,说明用户当前的工作树(working tree)混合了不同版本的代码,可能是在 v0.26.4 标签之外的开发分支上操作。
环境排查
- 确认当前 Git 仓库的提交 ID(commit ID):参考 Issue 中用户提供的 ID 为
699a25c19cc789e75a62838eea9f8f2cc1c6d3a5。 - 确认 Docker 镜像版本:确认拉取的镜像标签是否为
v0.26.4。 - 确认工作区代码状态:检查
entrypoint.sh中第 258 行是否确实引用了tools/scripts/run_migrations.sh,并检查该路径下是否存在目标文件。
解决步骤
- 可优先尝试:将当前工作区切换到官方的 v0.26.4 发布标签。
- 在仓库根目录下运行
git fetch --tags确保获取所有远程标签。 - 运行
git checkout v0.26.4签出干净的 v0.26.4 版本代码。 - 停止并清理旧容器:运行
docker compose down。 - 重新构建镜像并启动服务:运行
docker compose -f docker-compose.yml up -d。 - 如果用户希望使用最新功能(包括该迁移脚本),也可以切换到
main分支进行构建。
验证方法
运行容器启动后,检查日志不再出现 No such file or directory 错误,同时确认 tools/scripts/run_migrations.sh 文件存在于工作区的对应路径下。可以通过 ls tools/scripts/run_migrations.sh 命令验证文件是否存在。



