在vagrant中使用docker时无法启动mysql容器的问题

使用了docker构建lnmp环境之后

打开phpmyadmin,使用root 123456登陆,提示
mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again
mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again

看到这个提示,首先怀疑是network没有设置好,各种配置修改,没有解决问题。

然后就想着到mysql容器中测试下,使用docker exec -it dnmp_mysql_1 /bin/bash 后提示
Error response from daemon: Container 416134be8605841314a5e68d9363d4f70a3ab128c91b0cf1dbe4696ae675613f is not running

docker ps 查看发现,mysql容器根本没启动起来

问题出现了,mysql容器没启动进不去,到php和nginx容器中,又没有安装mysql,无法测试连接

于是针对mysql容器无法启动这个问题在网络上搜索,也不得要领。后来看到有人提起mysqld.sock文件权限,突然想起来是否是我目录权限的问题,于是将该docker-compose目录整个拷贝到虚拟机的本地目录,而不是放在vagrant映射的目录下。

mysql容器成功启动,问题解决。


因为我是在win10下用的vagrant,映射本地目录,而docker配置文件中的volume也挂载在该目录下,导致/var/lib/mysql目录就没有对应权限,自然也就无法新建数据库文件了,mysql容器启动失败。

权限很重要啊!!

你可能感兴趣的:(运维)