docker搭建lnmp环境错误总结

本文解析了在Docker环境下,因容器隔离机制导致的MySQL连接失败问题(SQLSTATE[HY000][2002]Connection refused)。介绍了通过容器名或正确IP地址进行连接的方法,并附带说明了在Docker中安装Vi编辑器的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.SQLSTATE[HY000] [2002] Connection refused
方法一:
以上错误主要是对 Docker 容器的隔离机制理解不够,其实每个容器之间都是隔离的,如果有相互依赖的服务,需要进行显示的关联,比如使用选项 --link。

测试连接 MySQL 的代码其实是运行在 PHP 对应的容器里,而 MySQL 服务是在它自己对应的容器里,当我们的 host 填写 127.0.0.1 时候,其实对应的是 PHP 容器里面,所以不可能找到对应的服务,从而引起上面拒绝连接的错误。

那么,怎么进行连接呢?

其实容器之间关联之后,可以通过容器名进行连接,是的,容器名!
MySQL 服务对应的容器名是 mysql,PHP 容器与它关联的名字也是 MySQL,所以把 127.0.0.1 改成 mysql 再进行连接即可!
方法2:
mysql的host 填写docker内的IP,获取方式为:
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mysql

在使用docker容器时,有可能没有安装Vi, 安装Vi:apt-get install vim,如果提示:Unable to locate
package vim,则需要敲:apt-get update, 等更新完毕以后再敲命令: apt-get install vim

https://www.cnblogs.com/afeige/p/10771140.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值