2016-04-04 2 views
2

Я пытаюсь запустить jenkins внутри докеров, используя марафон и мезо, чтобы обедать изображение докеров-дженкинсов.Ошибки при разрешении jenkins внутри докера с использованием постоянных томов с марафоном и мезонами

Я использовал кнопку создать приложение, которое производит следующие 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 

Я использую

ма rathon 1.0.0 RC1 Mesos 0.28.0

докер 1.10.3

ОС Ubuntu 14.04.4 LTS

Кто-нибудь есть какие-либо указатели на куда я иду неправильно? Я чувствую, что проблема состоит в том, чтобы упорствовать с постоянным объемом и отображением его в контейнер jenkins.

+0

Каковы разрешения для папки '/ var/jenkins_home' агента? – Tobi

+0

Я только что исправил ошибку в host_path. Это был jenkins_path, но должен был сказать jenkins_home. Я сделал исправление. Однако две ссылки пути контейнера не совпадают. Я изменю их, когда вернусь домой, чтобы они совпали. –

+0

Я думаю, что проблема связана с https://github.com/jenkinsci/docker/issues/177 –

ответ

0

У меня это работает. git clone https://github.com/jenkinsci/docker.git на узлах вашего агента. Я сделал это по всей шахте

вставки # перед линиями 16 и 17 в Dockerfile например

# 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 переименовать репозиторий Дженкинс, а затем создать приложение с помощью докер, дженкинсов и постоянных томов.

+0

Не могли бы вы помочь с использованием последнего JSON, который вы использовали? –

+0

Это только удаляет пользователя в контейнере и заставляет сбой сборки изображения – csanchez

+0

Я не уверен, что вы подразумеваете под неудачей. Изображение построено, и оно работает. Я действительно понимаю, что jenkins запускается с правами root, причем вышеприведенные утверждения комментируются. Постоянный том по умолчанию имеет права root, поэтому любой другой пользователь в контейнере jenkins не будет работать. @pravin взгляните на группу google marathon –

Смежные вопросы