1、报错信息
Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[TRACE_FILE] - openFile(/home/work/logs/powerchinaTwelveLog/trace/trace.log,true) call failed. java.io.FileNotFoundException: /home/work/logs/powerchinaTwelveLog/trace/trace.log (Permission denied)
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[ERROR_FILE] - openFile(/home/work/logs/powerchinaTwelveLog/error/error.log,true) call failed. java.io.FileNotFoundException: /home/work/logs/powerchinaTwelveLog/error/error.log (Permission denied)
2、问题描述
容器使用docker run -v xxxxx,采用这种方式运行如果出现permission denied是因为宿主机的当前运行用户和docker容器里面的运行用户不一致导致访问权限问题。
3、解决:三种方式
第一种:加上 --privileged=true 参数
docker run -v --privileged=true xxxxx
第二种:临时关闭selinux: setenforce 0
第三种:添加selinux规则,改变要挂载的目录的安全性文本(此种方式来源于网友,具体本人没有试过)