docker 创建mysql容器的闪退问题解决

问题描述

使用docker创建mysql容器运行时,出现闪退问题。
指令:docker ps
内容:无
指令:docker ps -a
内容:在这里插入图片描述
可以看出我们刚运行容器,容器就关闭了。

问题分析

我们通过日志输出,看一下问题出在哪里
在这里插入图片描述
我们可以看出,这里说
chown: changing ownership of ‘/var/lib/mysql/’: Permission denied
查阅资料后,发现
Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息。

问题解决

我们可以将我们创建实例语句的容器名后面,添加一个-privileged=true的特定权限。

docker run -p 3306:3306 --name mysql --privileged=true \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.29

在这里插入图片描述
\ 是换行符

注意

要先删除之前已经创建好的mysql容器。
删除指令:docker rm 容器名
启动容器指令:docker start 容器名
关闭容器指令:docker stop 容器名

猜你喜欢

转载自blog.csdn.net/zhang19903848257/article/details/109566673