我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。
docker pull jenkins
接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var / jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主机公开。
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins
但是,当我尝试运行docker容器时,出现以下错误:
/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied
有人可以告诉我如何解决此问题吗?
詹金斯(Jenkins)官方Docker映像文档对卷进行了说明:
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins 这会将詹金斯数据存储在主机上的/ your / home中。确保容器中的jenkins用户(jenkins用户-uid 1000)可以访问/ your / home,或者在docker run中使用-u some_other_user参数。
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home
jenkins
这会将詹金斯数据存储在主机上的/ your / home中。确保容器中的jenkins用户(jenkins用户-uid 1000)可以访问/ your / home,或者在docker run中使用-u some_other_user参数。
此信息也可以在Dockerfile中找到。因此,您要做的就是确保该目录$PWD/jenkins由 UID拥有 1000:
$PWD/jenkins
1000
mkdir jenkins chown 1000 jenkins docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins