2016-01-10 24 views
5

Chcę uruchomić Jenkinsa w Docker Container na Centos7. Widziałem oficjalną dokumentację Jenkinsa: Najpierw wyciągnij oficjalny wizerunek Jenkinsa z repozytorium Docker.Począwszy od Jenkins w Docker Container

docker pull jenkins 

Następnie uruchom kontener przy użyciu tego obrazu i katalogu danych mapy z kontenera do hosta; np. w poniższym przykładzie/var/jenkins_home z kontenera jest zmapowany do katalogu jenkins/z bieżącej ścieżki na hoście. Jenkins Port 8080 jest również narażona na hoście jako 49001.

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

Ale gdy próbuję uruchomić pojemnik Döcker pojawia się następujący błąd:

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

Czy ktoś może mi powiedzieć jak rozwiązać ten problem ?

+0

To działa OK. Czy masz pozwolenie na pisanie do miejsca, w którym kontener jest uruchamiany? – Opal

+0

Myślę, że to jest problem z tym. Myślę, że muszę się upewnić, że kontener może napisać coś na moim hoście –

+0

tak, zdecydowanie pozwalasz kontenrowi pisać na hoście, jeśli chcesz, aby był trwały. – Opal

Odpowiedz

11

Oficjalna Jenkins Docker obraz documentation mówi na temat wielkości:

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.

Informacja ta znajduje się również in the Dockerfile. Więc wszystko co musisz zrobić, to upewnić się, że katalog $PWD/jenkins jest właścicielem przez UID1000:

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

Ciągle pojawia się błąd: ** Nie można utworzyć katalogu domowego "/ media/mydrive/JENKINS_HOME". Jest to najprawdopodobniej problem z uprawnieniami. ** –

+0

tj. ODPOWIEDŹ: Utwórz katalog/dom/własność UID 1000 na serwerze dokowania (aby dopasować użytkownika jenkinsa (UID = 1000) w kontenerze jenkins. Dodaj użytkownika jenkinsa (z UID = 1000) na serwerze dokowania, jeśli to konieczne. – gaoithe

+0

Jak się upewnić, że UID 1000 jest właścicielem tego folderu? –