【问题标题】:Permission denied after start container jenkins启动容器詹金斯后权限被拒绝
【发布时间】:2020-01-08 16:34:18
【问题描述】:

创建jenkins容器时,出现以下错误。可能是什么问题?

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

这是我的 docker-compose:

version: '3.7'

services:

jenkins:
    image: jenkins/jenkins:lts
    ports:
      - 7080:8080
      - 50000:50000
    privileged: true
    volumes:
      - /tmp/jenkins-test:/var/jenkins_home

【问题讨论】:

    标签: docker jenkins docker-compose


    【解决方案1】:

    这在issue中有解释。

    sudo chown 1000 /tmp/jenkins-test

    如果目录已经包含文件:

    sudo chown -R 1000 volume_dir
    

    这会将 jenkins 数据存储在主机上的 /your/home 中。确保 /your/home 可由容器中的詹金斯用户访问 (jenkins 用户 - uid 1000)或使用 -u some_other_user 参数 码头运行。

    在挂载之前必须在主机中设置正确的权限 卷sudo chown 1000 volume_dir

    或者你可以试试

    虽然涉及酷刑,但已解决。

    在主机上创建jenkins用户,注意是uid

    docker run -u <jenkins-uid> ...
    
    

    不要docker run -u 'jenkins' - 这会导致容器自己的 jenkins 用户继续使用。要么选择一个不同的名字 主机并将其传递或传递结果 uid。

    你可以尝试运行的 bash 脚本

    #!/bin/bash
    mkdir $PWD/jenkins
    
    sudo chown -R 1000:1000 $PWD/jenkins
    
    docker run -d -p 8080:8080 -p 50000:50000 -v $PWD/jenkins:/var/jenkins_home --name jenkins jenkins
    
    

    【讨论】:

    【解决方案2】:

    如果在完成所有权限之后所有事情仍然没有工作,那么只需像这样更改卷映射..

    ./your_folder:/var/jenkins_home 
    

    它会正常工作..有时 pwd 不起作用会导致创建问题。

    【讨论】:

      猜你喜欢
      • 2018-05-25
      • 2018-04-04
      • 2012-06-08
      • 2014-08-25
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多