解决fastgpt部署成功,但是容器之间网络端口不通问题

解决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 

以上方法解决完毕!!!

### 部署 FastGPT 支持 DeepSeek #### 使用 Docker Compose 进行本地部署 通过 `docker-compose` 文件配置,能够简化 FastGPT 和 DeepSeek 的联合部署过程。这不仅提高了系统的可移植性和一致性,还降低了环境差异带来的风险。 ```yaml version: '3' services: fastgpt: image: fastgpt/image:latest ports: - "8080:80" environment: DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY} OTHER_ENV_VAR: value volumes: - ./data:/app/data ``` 上述 YAML 文件定义了一个名为 `fastgpt` 的服务实例[^1]。此文件指定了容器使用的镜像名称、端口映射关系以及必要的环境变量设置。特别是设置了 `DEEPSEEK_API_KEY` 来连接到 DeepSeek API 接口[^2]。 对于想要进一步定制化的开发者来说,在完成基础安装后还可以利用 Git Fork 功能获取源码仓库,并按照 Apache License 2.0 许可证条款进行修改和分发。 #### 准备工作 确保主机已正确安装 Docker Engine 和 docker-compose 工具链;创建一个新的目录用于保存项目文件;下载官方提供的最新版本 compose file 或者根据实际需求编写自定义模板。 #### 启动服务 进入包含 `docker-compose.yml` 文件所在的路径下执行命令启动所有关联的服务: ```bash docker-compose up -d ``` 这条指令将以守护进程模式运行指定的应用程序栈,使得后台持续运作而不阻塞当前终端会话。 一旦成功启动,则可通过浏览器访问 http://localhost:8080 地址来验证部署效果。此时应该能看到 FastGPT 提供的 Web 界面,并且已经集成了来自 DeepSeek 的强大功能特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值