2017-12-17 3 views
3

Ich bin neu in Docker. Ich habe gerade versucht, Docker in meinem lokalen Rechner (Ubuntu 16.04) mit Jenkins zu verwenden.Die Berechtigung wurde verweigert, während versucht wurde, eine Verbindung zum Docker-Socket-Socket unter unix: ///var/run/docker.sock herzustellen.

Ich konfigurierte einen neuen Job mit unter Pipeline-Skript.

node { 
    stage('Build') { 
     docker.image('maven:3.3.3').inside { 
     sh 'mvn --version' 
     } 
    } 
} 

Aber es schlägt mit unten Fehler fehl.

enter image description here

+3

Try 'jenkins' Benutzer' docker' Gruppe hinzuzufügen. 'sudo usermod -aG Docker Jenkins' –

+0

Ich habe das versucht ... noch funktioniert es nicht –

+0

ist es ein monolithischer Jenkins oder hat ein Master-Slave-Setup? Überprüfen Sie, mit welchem ​​Benutzer Sie den Befehl docker inspect ausführen. Sehen Sie, ob /var/run/docker.sock RW-Zugriff auf die Gruppe hat. –

Antwort

3

ich hinzugefügt, um die jenkins Benutzer Root-Gruppe und neu gestartet, die jenkins und es begann zu arbeiten.

sudo usermod -a -G root jenkins 
sudo service jenkins restart 
0

Die akzeptierte Antwort funktioniert, aber wirklich der Benutzer jenkins muss nur die Gruppe docker hinzugefügt werden.

sudo usermod -a -G docker jenkins

Dann Jenkins neu starten.

1

Ich habe Jenkins läuft in Docker und verbunden Jenkins verwendet Docker-Buchse vom Host-Rechner Ubuntu 16.04 via Volume zu /var/run/docker.sock.

Für mich Lösung war:

1) Innerhalb Docker Behälter von Jenkins (docker exec -it jenkins bash auf Host-Maschine)

usermod -a -G docker jenkins 
chmod 664 /var/run/docker.sock 
service jenkins restart (or systemctl restart jenkins.service) 
su jenkins 

2) Auf Host-Maschine:

sudo service docker restart 

664 bedeutet - lesen und schreibe (aber nicht ausführen) für Besitzer und Benutzer aus der Gruppe.

0

Vielleicht sollten Sie die Docker mit der Option "-u root" von vorn laufen beginnt

Mindestens das mein Problem gelöst

Verwandte Themen