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