使用LNMP的docker环境Mysql链接失败

343 阅读1分钟

问题描述:

我这里使用的是Laravel框架,今晚新建了一个docker在连接数据库的时候,怎么都连接不进去,但是使用navicat连接又没有问题。

报错如下:

Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Connection refused

处理方法:

将使用到的mysql和redis修改为容器名,不实用127.0.0.1或者localhost的方式。

报错原因:

这里的原因是由于容器化,通过IP或者localhost是无法访问容器内部的资源,所以修改为对应的容器名就能打通连接了。

Navicat应该走的容器映射,所以能访问,框架内走不了这个映射,所以访问失败。(这个是猜的,暂时还未论证)