试过了各自办法和问了 chatgpt 和 cursor ,但还是数据库连接失败,防火墙打开端口了,mysql 服务也启动了,端口也没有被占用,数据库 url 也是直接设置的云服务 ip ,数据库权限也设置了所有人。
项目架构 这是一个在单台服务器上,通过 Docker Compose 部署的前后端分离项目。 入口: 一个 Nginx 反向代理 (nginx-proxy) 作为系统的 API 网关,处理所有 HTTPS 请求。 前端: 一个 React 应用,被打包在独立的 Nginx 容器中。 后端: 一个 Spring Boot 应用,提供 /api 开头的接口。 数据库: 直接运行在服务器的宿主机上,而不是在容器里。
架构图如下:
有时间的佬可以私信我,使用 ToDesk 远程控制,解决后发口令红包。
![]() | 1 ganbuliao 119 天前 我试试喽 |
![]() | 2 ganbuliao 119 天前 v:aGhzc2lpaWkK |
3 jworg 119 天前 ![]() "数据库 url 也是直接设置的云服务 ip" 这个结构完全不用防火墙相关吧,docker-compose 有个配置 extra_hosts: - "host.docker.internal:host-gateway" 用 host.docker.internal:3306 来连接。 另外请提供下宿主机 ip 类型,是公网的 ip 还是 docker 桥上的 ip 。 |
6 abolast 119 天前 很好奇你创建数据库的命令是什么,有没有准确配置好 ip 。其实最简单能行的,就是宿主机的内网 ip 为基准来访问,就行了。就算后端和数据库两个容器在同一台机,你可以通过宿主机的内网 ip 来哩,这样就无需考虑容器的网络模式了 |
![]() | 7 momocraft 119 天前 容器内用的什么连接 URL 原样发出来看看,可能是 listen inferface 不对 |
![]() | 8 itechify PRO ![]() 容器内访问宿主机网络,需要填写 docker0 接口 ip 例如 172.17.0.1 |
![]() | 9 itechify PRO 数据库 url 也是直接设置的云服务 ip ,为啥要绕外网呢? |
![]() | 11 wuhanchu   117 天前 甚至都画了个图。。直接 compose 复制给 AI 问问不就知道了。 |
12 kcross 117 天前 我记得 腾讯云的 mysql 有连接的白名单 你需要把你的新服务器加进去 |