Docker部署的服务无法连接数据库的解决方案

发布于 2024-01-18  38 次阅读


在利用docker部署完应用程序后,就接着考虑如何将程序连接到数据库。但是过程中发现一些问题:
首先,本地运行的程序可以直连本地的数据库,同理在服务器上部署的服务想要相互连接就必须要在相同的环境下才能成功。

按照Mozilla官方文档部署了redis服务并开放端口
但是尝试多次之后,即便是修改的一模一样,在centos上运行还是报错。
想了多次还是无法理解,尝试过在docker上再创建一个redis的容器,能扫描到端口但是程序依然没有连接到数据库。
就在无可奈何准备放弃的时候

看了下send的issue发现这个项目的docker需要自行配置参数,遂添加启动参数redis_url,再想想直接配置为localhost其实是连接到的是这个docker容器,实际上应该连接到服务器本地才对

 解决办法
将redis_url=localhost换成自己服务器的ip地址

注意你的服务部署在什么位置

在开发时,要连接连接自己服务器的数据库,如果不是直接部署在同一位置,一定记得填写数据库地址为服务器公网ip,这样即使你在任意的主机上也不存在数据库环境的问题了。