问题描述:
我这里使用的是Laravel框架,今晚新建了一个docker在连接数据库的时候,怎么都连接不进去,但是使用navicat连接又没有问题。
报错如下:
Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Connection refused
处理方法:
将使用到的mysql和redis修改为容器名,不实用127.0.0.1或者localhost的方式。
报错原因:
这里的原因是由于容器化,通过IP或者localhost是无法访问容器内部的资源,所以修改为对应的容器名就能打通连接了。
Navicat应该走的容器映射,所以能访问,框架内走不了这个映射,所以访问失败。(这个是猜的,暂时还未论证)