【问题标题】:How to mount existing Jenkins directory onto a Jenkins Docker container?如何将现有的 Jenkins 目录挂载到 Jenkins Docker 容器上?
【发布时间】:2022-10-05 11:47:37
【问题描述】:

我之前的 DevOps 人员在 Ubuntu Linux 机器上设置了 Jenkins 服务,它使用 /var/lib/jenkins 作为 JENKINS_HOME 目录。现在我想运行一个jenkins/jenkins:lts Docker 容器来使用与其JENKINS_HOME 相同的目录,所以我尝试在Linux 主机上执行以下操作。

$ service jenkins stop
$ docker run --rm -it -p 8880:8080 --name jenkins -v /var/lib/jenkins:/var/jenkins_home jenkins/jenkins:lts

但我明白了

touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

这是正确的有效方法吗?如果是这样,我该如何解决这个错误,以便我可以使用当前的 Jenkins 服务文件运行 Jenkins 容器? TIA

【问题讨论】:

    标签: docker jenkins


    【解决方案1】:

    “主机”jenkins user:group id 与“容器”jenkins user:group id 不同。由于我不打算在主机上启动jenkins 服务,所以我在主机上做了以下操作

    $ service jenkins disable
    $ chown -R 1000:1000 /var/lib/jenkins
    

    其中1000:1000 是容器上jenkins 用户的user:group id。然后我在帖子中的docker run... 命令起作用了。

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 2016-06-10
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多