Docker容器启动时报错:container init caused “write /proc/self/attr/keycreate: permission denied““: unknown
一、报错详情
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused “process_linux.go:449: container init caused “write /proc/self/attr/keycreate: permission denied””: unknown.
二、原因
permission denied” 表示文件没有写入权限,被拒绝访问了
selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux限制了。
selinux有三种模式:
enforcing 强制
permissive 宽容的
diabled 禁止的,
限制程度由高到低。
三、解决办法:
1.永久修改(慎重!!!)
(1)cat /etc/selinux/config
,更改SELINUX=disable
(2)重启生效
2.临时修改,不重启生效,重启后恢复
(1)/usr/sbin/setenforce 0
立刻关闭 SELINUX【还原:/usr/sbin/setenforce 1
立刻启用 SELINUX】
(2)加到系统默认启动里面:echo "/usr/sbin/setenforce 0" >> /etc/rc.local