Ich möchte eine Jenkins-Instanz in einem Andock-Container ausführen.So mounten Sie den Docker-Socket als Volume im Docker-Container mit der korrekten Gruppe
Ich möchte Jenkins selbst in der Lage sein Docker-Container als Sklaven zu drehen bis laufen Tests in.
Es scheint der beste Weg, dies zu tun ist
docker run -v /var/run.docker.sock:/var/run/docker.sock -p 8080:8080 -ti my-jenkins-image
zu verwenden Die Dockerfile
Ich verwende ist
Wenn ich ein Bash-Sitzung in meinem Laufbehälter und laufen docker info
auf meinem Bild starten bekomme ich
$ docker info
FATA[0000] Get http:///var/run/docker.sock/v1.18/info: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
Und wenn ich die Bash-Sitzung als root
docker exec -u 0 -ti cocky_mccarthy bash
[email protected]:/# docker info
Containers: 42
Images: 50
...
Also ich denke, die docker
Gruppe I‘laufen Das Hinzufügen des Jenkins-Benutzers zu der Gruppe für das interne Andockfenster, daher ist der Socket ohne Sudo nicht lesbar. Das ist ein Problem, da das jenkins docker plugin usw. nicht für die Verwendung von sudo eingerichtet ist.
Wie kann ich den Sockel montieren, damit er aus dem Bild ohne Sudo verwendet werden kann?
Haben Sie eine Lösung für Ihr Problem gefunden? Ich habe das gleiche Problem im Moment –