部署后服务一直重启,日志里反复打印连接数据库超时,其他容器看起来正常。

一开始怀疑是「认证信息与初始化时不一致」,查了一圈,方向不对。

排查方向其实有限,先把可能性排一排。数据库容器还没就绪,应用先启动了。少数情况下是连接串里的地址或端口写错。

另外,数据卷权限不对,数据库无法写入。

第一件事是确认数据库容器健康状态

docker compose ps mongo

再往下查看连接串配置

docker compose exec app env | Select-String MONGO

随后按健康检查结果延迟启动应用

docker compose up -d --wait

剩下的就是核对数据卷权限

docker volume inspect fastgpt_mongo

中途换过一次思路,把范围缩到最小的那一层,反而快了。

别只看报错消失,验证要多做一步。应用正常启动并连接数据库,页面可以打开,知识库能创建。

这里还有个坑。容器编排里没有就绪等待时,应用启动失败会反复重启,等服务起来后往往自己就恢复了,不必急着改配置。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189