jenkins - 使用具有马拉松和Mesos的持久卷在docker内部运行jenkins的权限错误

我正在尝试使用马拉松和Mesos使 Jenkins 在docker内部运行,以午餐 Jenkins docker图像。

我使用了创建应用程序按钮,该按钮生成以下json

{
  "type": "DOCKER",
  "volumes": [
    {
      "containerPath": "/var/jenkins_home",
      "hostPath": "jenkins_home",
      "mode": "RW"
    },
    {
      "containerPath": "jenkins_home",
      "mode": "RW",
      "persistent": {
        "size": 200
      }
    }
  ],
  "docker": {
    "image": "jenkins",
    "network": "HOST",
    "privileged": false,
    "parameters": [],
    "forcePullImage": false
    }
}

标准输出显示
--container="mesos-c8bd5b26-6e71-4e18-b490-821dbf7edd9d-S0.ac0b4dbb-10e4-4684-a4df-9539258d77ee" --docker="docker" --docker_socket="/var/run/docker.sock" --help="false" --initialize_driver_logging="true" --launcher_dir="/home/ajazam/mesos-0.28.0/build/src" --logbufsecs="0" --logging_level="INFO" --mapped_directory="/mnt/mesos/sandbox" --quiet="false" --sandbox_directory="/var/lib/mesos/data/slaves/c8bd5b26-6e71-4e18-b490-821dbf7edd9d-S0/frameworks/6079a596-90a8-4fa5-9c92-9215558737d1-0000/executors/jenkins-t7.9be44260-f99c-11e5-b0ac-e4115bb26fcc/runs/ac0b4dbb-10e4-4684-a4df-9539258d77ee" --stop_timeout="0ns"
Registered docker executor on slave4
Starting task jenkins-t7.9be44260-f99c-11e5-b0ac-e4115bb26fcc
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

stderr表演
I0403 14:04:51.026866  6569 exec.cpp:143] Version: 0.28.0
I0403 14:04:51.032097  6585 exec.cpp:217] Executor registered on slave c8bd5b26-6e71-4e18-b490-821dbf7edd9d-S0
WARNING: Your kernel does not support swap limit capabilities, memory limited without swap.
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied

我在用

马拉松1.0.0 RC1
mesos 0.28.0

docker 1.10.3

操作系统是ubuntu 14.04.4 LTS

有人对我要去哪里出错了吗?我的感觉是问题在于持久性卷并将其映射到jenkins容器中。

最佳答案

我知道了
git clone https://github.com/jenkinsci/docker.git到您的代理节点上。我在所有我的身上都做过

在Dockerfile中的第16和17行之前插入#

#    RUN groupadd -g ${gid} ${group} \
#        && useradd -d "$JENKINS_HOME" -u ${uid} -g ${gid} -m -s /bin/bash ${user}

运行sudo docker build .使用sudo docker tag xyz jenkins将存储库重命名为jenkins,然后使用docker,jenkins和持久卷创建应用程序。

https://stackoverflow.com/questions/36403082/

相关文章:

hadoop - WSO2外部Hadoop

docker - Docker yum安装问题-无法为存储库检索metalink:epel/x86_

docker - 如何在没有docker客户端的情况下将通过save命令创建的docker镜像推送到

docker - Ansible Docker 连接错误

docker - Docker Compose YAML版本1和版本2有什么区别?

azure - 通过远程 api 设置 Docker Volume Driver 选择

docker - Godep无法在Docker容器中工作

apache - 如何在docker中以标准方式停止solr

docker - 将 git 命令的结果存储在 ENV 中

docker - 将其他Docker节点添加到Shipyard