处理Jenkins容器创建报错:touch: cannot touch ‘’: Permission denied【测试成功】

艺帆风顺 发布于 2025-04-02 16 次阅读


一、问题背景

    发现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.warwebroot: 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

        更改文件所有者之后,容器即可以正常启动。