在 Docker 容器中启动 Jenkins
Starting Jenkins in Docker Container
我想在 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 图片 documentation 关于卷的说法:
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins
This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.
还找到了此信息 in the Dockerfile。
所以你需要做的就是确保目录 $PWD/jenkins
属于 UID 1000
:
mkdir jenkins
chown 1000 jenkins
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins
最新的 Jenkins 文档说使用 Docker 'volumes'。
Docker 在这方面有点棘手,两者之间的区别是绑定挂载的完整路径名和 -v 选项以及卷的名称。
docker run -d -p 49001:8080 -v jenkins-data:/var/jenkins_home -t jenkins
此命令将创建一个名为 "jenkins-data" 的 docker 卷,您将不会再看到该错误。
Link 管理卷:
https://docs.docker.com/storage/volumes/
我想在 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 图片 documentation 关于卷的说法:
docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins
This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.
还找到了此信息 in the Dockerfile。
所以你需要做的就是确保目录 $PWD/jenkins
属于 UID 1000
:
mkdir jenkins
chown 1000 jenkins
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins
最新的 Jenkins 文档说使用 Docker 'volumes'。 Docker 在这方面有点棘手,两者之间的区别是绑定挂载的完整路径名和 -v 选项以及卷的名称。
docker run -d -p 49001:8080 -v jenkins-data:/var/jenkins_home -t jenkins
此命令将创建一个名为 "jenkins-data" 的 docker 卷,您将不会再看到该错误。
Link 管理卷: https://docs.docker.com/storage/volumes/