在 centos7上使用 docker 启动 mysql 容器挂载数据时,运行 docker run 命令后,发现容器没有成功启动,通过 docker logs 命令查看日志,发现报错内容如下

 

日志内容,没有读 /var/lib/mysql 目录的权限

 

出错原因:centos7 安全子系统 Selinux 禁止了一些安全权限,导致进行挂载目录时出现这个错误

解决办法:可以在 docker run 命令中加入 --privileged=true 设置,给容器加上特定权限

--privileged=true

注意:--privileged=true 命令最好放在docker run 之后,否则可能出现类似 command was: "mysqld --privileged=true --verbose --help" 这样的报错

完整命令

docker run --privileged=true --name=test-mysql7 -v /docker_data/test-mysql7:/var/lib/mysql -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.25      

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐