【问题标题】:Starting Jenkins in Docker Container在 Docker 容器中启动 Jenkins
【发布时间】:2016-04-14 20:23:21
【问题描述】:

我想在 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 centos7


【解决方案1】:

最新的 Jenkins 文档说要使用 Docker 'volumes'。 Docker 在这方面有点棘手,两者之间的区别在于带有 -v 选项的完整路径名用于绑定挂载,而只是卷名。

docker run -d -p 49001:8080 -v jenkins-data:/var/jenkins_home -t jenkins

此命令将创建一个名为“jenkins-data”的 docker 卷,您将不再看到错误。

管理卷的链接: https://docs.docker.com/storage/volumes/

【讨论】:

    【解决方案2】:

    Jenkins Docker 官方镜像documentation 说关于卷:

    docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins
    

    这会将 jenkins 数据存储在主机上的 /your/home 中。确保容器中的 jenkins 用户(jenkins 用户 - uid 1000)可以访问 /your/home 或在 docker run 中使用 -u some_other_user 参数。

    此信息也可以在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
    

    【讨论】:

    • 我仍然收到错误:无法创建主目录“/media/mydrive/JENKINS_HOME”。这很可能是权限问题。
    • 即回答:在 docker 服务器上设置由 UID 1000 拥有的目录 /your/home(以匹配 jenkins 容器中的 jenkins 用户(UID=1000)。如果需要,在 docker 服务器上添加一个 jenkins 用户(UID=1000)..跨度>
    • 如何确保 UID 1000 拥有该文件夹?
    • @NicolasS.Xu 这就是chown 1000 jenkins 所做的,它将目录jenkins 的所有者更改为UID 1000 的用户
    • 我不确定 UID 100(100 不是 1000 - 链接到的 Dockerfile Thmasleveil 是 100)。但我运行chown 100 jenkins,一切正常。之后,我将容器作为浏览器上的链接执行以检查密码。它适用于可能的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2020-03-11
    • 1970-01-01
    • 2019-05-07
    • 2020-10-18
    • 1970-01-01
    相关资源
    最近更新 更多