权限错误 运行 jenkins inside docker using persistent volumes with marathon and mesos

Permission errors running jenkins inside docker using persistent volumes with marathon and mesos

我正在尝试让 jenkins 运行 在 docker 中使用 marathon 和 mesos 来午餐 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 金币 0.28.0

docker 1.10.3

OS 是 ubuntu 14.04.4 LTS

有没有人指出我哪里出错了?我的感觉是,问题在于持久卷及其到 jenkins 容器的映射。

我成功了。 git 克隆 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 和持久卷创建应用程序。