centos7下docker 启动容器运行mysql时报错 Permission denied
在centos的docker上安装mysql提示chown: changing ownership of ‘/var/lib/mysql/’: Permission denied
Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示如下信息:
1 [root@localhost mysql]#docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name my-mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql:5.6 --character-set-server=utf8 --collation-server=utf8_general_ci
2 [root@localhost mysql]# docker ps -a
3 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4 19c4aa113c61 my-mysql “docker-entrypoint.sh” 4 seconds ago Exited (1) 1 seconds ago
通过docker logs my-mysql命令查看,发现提示信息是:chown: changing ownership of ‘/var/lib/mysql/…‘: Permission denied
这个错误的解决方法有这么三个:
1.在docker run中加入 --privileged=true 给容器加上特定权限
2.关闭selinux
3.在selinux添加规则,修改挂载目录
查看 SELinux状态及关闭SELinux
方法:
1.查看SELinux状态
sestatus -v
getenforce
2.临时关闭SELinux
setenforce 0