使用了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容器启动失败。
【在vagrant中使用docker时无法启动mysql容器的问题】权限很重要啊!!
推荐阅读
- 云原生微服务技术趋势解读
- 韵达基于云原生的业务中台建设 | 实战派
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 运维|如何限制IP 通过 SSH连接服务器
- 运维|Linux 禁止用户或 IP通过 SSH 登录
- linux|apt update和apt upgrade命令 - 有什么区别()
- 服务器|用旧手机搭建服务器并实现内网穿透不需要root(本人亲测很多次最简单的一个)
- GitHub|7 款可替代 top 命令的工具
- Linux系统网络编程|Linux系统(权限管理)
- 企业实战|Linux 五种IO模型详细图解