解决fastgpt部署成功,但是容器直接网络端口不通问题
mongo链接不上,oneapi启动失败等等
我们在成功使用docker部署fastgpt后登录fastgpt,但是登录失败,使用命令
docker logs fastgpt
查看日志报错
<rejected> t [MongooseError]: Connection operation buffering timed out after 10000ms
at v._waitForConnect (/app/projects/app/.next/server/chunks/80806.js:79:5582)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:540:9)
at process.processTimers (node:internal/timers:514:7)
at async v.createCollection (/app/projects/app/.next/server/chunks/80806.js:79:1680)
at async eb.createCollection (/app/projects/app/.next/server/chunks/80806.js:389:2630)
at async eb.syncIndexes (/app/projects/app/.next/server/chunks/80806.js:389:3308)
} reason: t [MongooseError]: Connection operation buffering timed out after 10000ms
at v._waitForConnect (/app/projects/app/.next/server/chunks/80806.js:79:5582)
at runNextTicks (node:internal/process/task_queues:60:5)
at listOnTimeout (node:internal/timers:540:9)
at process.processTimers (node:internal/timers:514:7)
at async v.createCollection (/app/projects/app/.next/server/chunks/80806.js:79:1680)
at async eb.createCollection (/app/projects/app/.next/server/chunks/80806.js:389:2630)
at async eb.syncIndexes (/app/projects/app/.next/server/chunks/80806.js:389:3308)
t [MongooseError]: Connection operation buffering timed out after 10000ms
at v._waitForConnect (/app/projects/app/.next/server/chunks/80806.js:79:5582)
at async v.createCollection (/app/projects/app/.next/server/chunks/80806.js:79:1680)
at async eb.createCollection (/app/projects/app/.next/server/chunks/80806.js:389:2630)
at async eb.syncIndexes (/app/projects/app/.next/server/chunks/80806.js:389:3308)
Unhandled Rejection at: Promise {
<rejected> t [MongooseError]: Connection operation buffering timed out after 10000ms
at v._waitForConnect (/app/projects/app/.next/server/chunks/80806.js:79:5582)
at async v.createCollection (/app/projects/app/.next/server/chunks/80806.js:79:1680)
at async eb.createCollection (/app/projects/app/.next/server/chunks/80806.js:389:2630)
at async eb.syncIndexes (/app/projects/app/.next/server/chunks/80806.js:389:3308)
} reason: t [MongooseError]: Connection operation buffering timed out after 10000ms
at v._waitForConnect (/app/projects/app/.next/server/chunks/80806.js:79:5582)
at async v.createCollection (/app/projects/app/.next/server/chunks/80806.js:79:1680)
at async eb.createCollection (/app/projects/app/.next/server/chunks/80806.js:389:2630)
at async eb.syncIndexes (/app/projects/app/.next/server/chunks/80806.js:389:3308)
或者我们在使用命令 docker-compose up -d启动的时候oneapi无法启动,并且报错:
2025/03/06 07:46:15 /build/model/main.go:79
[FATAL] 2025/03/06 - 07:46:15 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[SYS] 2025/03/06 - 07:46:16 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:16 | using MySQL as database
2025/03/06 07:46:17 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:17 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:46:17 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:17 | using MySQL as database
2025/03/06 07:46:18 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:18 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:46:20 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:20 | using MySQL as database
2025/03/06 07:46:21 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:21 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:46:22 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:22 | using MySQL as database
2025/03/06 07:46:23 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:23 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:46:27 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:27 | using MySQL as database
2025/03/06 07:46:28 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:28 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:46:35 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:35 | using MySQL as database
[FATAL] 2025/03/06 - 07:46:36 | [dial tcp 172.20.0.2:3306: connect: no route to host]
2025/03/06 07:46:36 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[SYS] 2025/03/06 - 07:46:49 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:46:49 | using MySQL as database
2025/03/06 07:46:50 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:46:50 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:47:16 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:47:16 | using MySQL as database
2025/03/06 07:47:17 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:47:17 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:48:08 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:48:08 | using MySQL as database
2025/03/06 07:48:09 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:48:09 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:49:10 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:49:10 | using MySQL as database
2025/03/06 07:49:11 /build/model/main.go:79
[error] failed to initialize database, got error dial tcp 172.20.0.2:3306: connect: no route to host
[FATAL] 2025/03/06 - 07:49:11 | [dial tcp 172.20.0.2:3306: connect: no route to host]
[SYS] 2025/03/06 - 07:50:11 | One API v0.6.6 started
[SYS] 2025/03/06 - 07:50:11 | using MySQL as database
mysql链接问题,那我们可是使用下面方法来解决
方法一、将 Docker 网桥加入 Firewalld 信任区域
docker network ls
firewall-cmd --permanent --zone=trusted --change-interface=br-7cc00e40d0cf
firewall-cmd --reload
即可成功登录
方法二、固定fastgpt网络名称
上述解决办法在每次重启docker容器后会失效,因为每次重启容器网络id会变化,我们采用下面办法进行一劳永逸
vim docker-compose.yml
在最下方加入
driver: bridge
name: my-fastgpt
firewall-cmd --permanent --zone=trusted --change-interface=my-fastgpt
firewall-cmd --reload
然后重载防火墙
systemctl restart firewalld
如果还没有解决执行
firewall-cmd --permanent --zone=trusted --add-rich-rule='rule family="ipv4" source address="172.17.0.0/16" accept'
再次重载
systemctl restart firewalld
以上方法解决完毕!!!