在 CentOS 系统中使用 Docker 安装 Jenkins 时,如果遇到启动容器时报错 touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
的问题,这通常是因为 Jenkins 在初始化过程中尝试创建或修改 /var/jenkins_home
目录下的文件,但是由于权限不足导致的。
解决方法如下:
-
确保数据卷的权限正确:
当你通过-v
参数将宿主机上的目录映射到 Docker 容器内的/var/jenkins_home
时,需要确保宿主机上的目录具有可写权限。可以使用以下命令来更改所有者和组,使其与运行 Jenkins 容器的用户(通常是jenkins
用户)匹配,并设置适当的权限:# 假设你的宿主机目录是 /path/to/jenkins_home sudo chown -R 1000:1000 /path/to/jenkins_home sudo chmod -R 755 /path/to/jenkins_home
其中,10