今天在做项目的时候,使用docker 拉取mysql:5.7并创建容器运行时,发现容器是创建起来了但是并没有运行起来。如下图:
出现了闪退的情况
然后我查了一下mysql日志:
命令如下:
docker logs --tail 50 --follow --timestamps mysql
具体错误如上:Can‘t read dir of ‘/etc/mysql/conf.d/
出现这个的原因是:因为Centos7安全Selinux禁止了部分安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息
所以真正解决该问题的方法就是:既然不能read取到需要都的文件,那我们就给这个目录及文件创建出来:命令如下:
sudo mkdir /etc/mysql/conf.d
但是可能很多人又会出现以下错误:
原因是mysql目录不存在
此时应加上参数-p,即没有找到此目录就自动创建:文章来源:https://www.toymoban.com/news/detail-505428.html
sudo mkdir -p /etc/mysql/conf.d
然后再使用如下命令创建容器并运行:文章来源地址https://www.toymoban.com/news/detail-505428.html
sudo docker run --privileged=true \
-p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
到了这里,关于Can‘t read dir of ‘/etc/mysql/conf.d/‘ (OS errno 2 - No such file or directory)解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!