一、问题背景
发现Jenkins容器被删了,但是挂载到宿主机的文件都在,现在需要重新创建容器进行恢复。
二、问题排查
查看容器日志:
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
该错误提示是因为Jenkins无法写入`/var/jenkins_home/copy_reference_file.log`文件,可能是由于文件权限不正确导致的。
可以尝试以下解决方法:
1. 检查文件权限:确保Jenkins用户对`/var/jenkins_home/`目录和其下的文件具有读写权限。可以使用`ls -l /var/jenkins_home/`命令查看文件权限。
2. 更改文件所有者:如果`/var/jenkins_home/`目录和其下的文件的所有者不是Jenkins用户,则需要更改所有者为Jenkins用户。可以使用`chown -R jenkins:jenkins /var/jenkins_home/`命令更改所有者。
3. 检查SELinux设置:如果SELinux启用并且Jenkins没有正确的SELinux策略,则可能会导致该问题。可以通过禁用SELinux或为Jenkins添加正确的SELinux策略来解决该问题。
4. 检查Docker Volume设置:如果Jenkins运行在Docker容器中,并且使用了Docker Volume来挂载`/var/jenkins_home/`目录,则需要确保Docker Volume的权限设置正确。
三、问题解决
chown -R 1000:1000 /mnt1/jenkins/jenkins_home
更改文件所有者之后,容器即可以正常启动。

