2016-01-10 20 views
5

Voglio eseguire Jenkins in un contenitore Docker su Centos7. Ho visto la documentazione ufficiale di Jenkins: Innanzitutto, estrai l'immagine jenkins ufficiale dal repository Docker.Avvio di Jenkins nel contenitore Docker

docker pull jenkins 

Successivamente, eseguire un contenitore utilizzando questa directory di dati immagine e mappa dal contenitore all'host; per esempio nell'esempio seguente/var/jenkins_home dal contenitore viene mappato alla directory jenkins/dal percorso corrente sull'host. Jenkins porta 8080 è esposto anche per l'host come 49001.

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

Ma quando provo a fare funzionare il contenitore finestra mobile ottengo il seguente errore:

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

qualcuno può dirmi come risolvere questo problema ?

+0

Funziona bene. Hai un permesso di scrittura su dove viene eseguito il contenitore? – Opal

+0

Penso che sia un problema con quello. Penso di dover fare in modo che il contenitore possa scrivere qualcosa sul mio host –

+0

sì, si consente definitivamente al contenitore di scrivere sull'host se si desidera renderlo persistente. – Opal

risposta

11

L'immagine ufficiale Jenkins Docker documentation dice per quanto riguarda i volumi:

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.

Questa informazione si trova anche in the Dockerfile. Quindi tutto quello che dovete fare è quello di garantire che la directory $PWD/jenkins è proprio da UID1000:

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

Ricevo ancora un errore: ** Impossibile creare la home directory '/ media/mydrive/JENKINS_HOME'. Questo è molto probabilmente un problema di autorizzazione. ** –

+0

ie ANSWER: Rendi il dir/your/home di proprietà dell'UID 1000 sul server docker (per abbinare l'utente jenkins (UID = 1000) nel contenitore jenkins. Aggiungi un utente jenkins (con UID = 1000) sul server docker se necessario. – gaoithe

+0

Come faccio a essere sicuro che UID 1000 possegga quella cartella? –

Problemi correlati