最近在启动redis容器的时候碰到了一个问题:
在考虑解决办法之前,我先查了查报这个错误的原因:
一、报错原因
centos7中安全模块selinux把权限禁掉了。有兴趣的可以点击链接过去看看selinux安全模块。
下面有我找出来的三个解决办法。
二、解决办法
1、在docker run中加入 --privileged=true 给容器加上特定权限
2、在selinux添加规则,修改挂载目录
指令:chcon [-R] [-t type] [-u user] [-r role] 文件或者目录
参数:
-R :该目录下的所有目录也同时修改;
-t :后面接安全性本文的类型字段,例如 httpd_sys_content_t ;
-u :后面接身份识别,例如 system_u;
-r :后面接角色,例如 system_r;
eg:chcon -Rt svirt_sandbox_file_t /root/docker/redis/
3、关闭selinux
修改配置文件:
vim /etc/sysconfig/selinux
将SELINUX=enforcing 改为 SELINUX=disabled