2016-01-10 15 views
5

Ich möchte Jenkins in einem Docker Container auf Centos7 laufen lassen. Ich sah die offizielle Dokumentation von Jenkins: Zuerst ziehen Sie das offizielle Jenkins-Bild aus dem Docker-Repository.Jenkins im Docker Container starten

Als Nächstes führen Sie einen Container mit diesem Image aus, und ordnen Sie das Datenverzeichnis aus dem Container dem Host zu. Beispiel: Im Beispiel unter/var/jenkins_home aus dem Container wird jenkins/directory aus dem aktuellen Pfad auf dem Host zugeordnet. Jenkins Port 8080 wird auch als 49001.

docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 

an den Host ausgesetzt Aber wenn ich versuche, den Docker Behälter ich die folgende Fehlermeldung auszuführen:

/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied 

Kann mir jemand sagen, wie dieses Problem zu beheben ?

+0

Es funktioniert ok. Verfügen Sie über eine Schreibberechtigung für den Speicherort des Containers? – Opal

+0

Ich denke, es ist ein Problem damit. Ich denke, ich muss sicherstellen, dass der Container etwas auf meinem Host schreiben kann. –

+0

Ja, Sie erlauben dem Container definitiv, auf den Host zu schreiben, wenn Sie ihn persistent machen wollen. – Opal

Antwort

11

Das offizielle Jenkins Docker Bild documentation sagen Band in Bezug auf:

docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins 

This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.

Diese Informationen auch in the Dockerfile gefunden werden. Also alles, was Sie tun müssen, ist, um sicherzustellen, dass das Verzeichnis $PWD/jenkins von UID besitzen wird1000:

mkdir jenkins 
chown 1000 jenkins 
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 
+0

Ich bekomme immer noch einen Fehler: ** Kann das Home-Verzeichnis '/ media/mydrive/JENKINS_HOME' nicht erstellen. Dies ist höchstwahrscheinlich ein Berechtigungsproblem. ** –

+0

dh ANTWORT: Machen Sie das Verzeichnis/iour/home, das UID 1000 gehört, auf dem Docker-Server (um den jenkins-Benutzer (UID = 1000) in jenkins container. Fügen Sie einen Benutzer jenkins (mit UID = 1000) auf Docker-Server, wenn nötig .. – gaoithe

+0

Wie kann ich sicherstellen, UID 1000 besitzt diesen Ordner? –

Verwandte Themen