问题

最近在容器内搭建的服务在连接Mysql时出现了以下错误:
SQLSTATE[HY000] [2002] Connection refused
SQLSTATE[HY000] [2002] php_network_getaddresses

解决

根据错误分析是因为数据库没有连接造成的,经过找资料才明白容器内并不能直接连接宿主机的IP,而是需要连接容器与宿主机之前的桥地址,也就是建立时的Docker0地址,所以解决方法也就有了:
1.使用ifconfig查看Docker的宿主机IP地址,Docker0为与宿主机通信网上,IP可以用于容器内向宿主机进行连接。
2.宿主机的IP地址,针对于该库权限需要设置为任意地址访问也就是%,因为默认是只允许127.0.0.1访问,不修改该配置,容器也是无法连接的。

正文到此结束

本文标题:Docker容器内连接宿主机Mysql

本文链接:https://www.hantaosec.com/3005.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源及链接,不带链接禁止任何转载!访问任何网络安全相关文章,则视为默认接受网络安全文章免责声明 ,请认真阅读。

喜欢我的文章吗?
别忘了点赞或赞赏,让我知道创作的路上有你陪伴。