Ich habe ein Andockfenster in Docker Setup für CI. Im Wesentlichen verfügt der Computer über einen CI-Server von jenkins, der denselben Socket-Socket für Computer verwendet, um Knoten für CI zu erstellen.Docker in Docker Berechtigungen Fehler
Das funktionierte gut, bis ich kürzlich Docker aktualisiert. Ich habe das Problem erkannt, aber ich kann die richtige Magie nicht finden, um es zum Laufen zu bringen.
host $ docker exec -it myjenkins bash
[email protected] $ docker ps
Got permission denied while trying to connect to the Docker daemon
socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied
host $ docker exec -it -u root -it myjenkins bash
[email protected] $ docker ps
... docker ps from host container yay! ...
Also hier ist was ich vermute. Ich habe Zugriff auf den Host-Docker-Socket innerhalb des Containers, aber ich kann anscheinend keine Erlaubnis für den Benutzer jenkins geben.
Ich habe die Docker-Gruppe hinzugefügt und auch die Dinker-Gruppe um den Benutzer jenkins erweitert. Aber ich bekomme immer noch den gleichen Fehler. Ich habe einen Schlag von Zeiten neu gestartet, also bin ich irgendwie ratlos, was ich als nächstes tun soll.
Gibt es eine Möglichkeit, Berechtigungen für einen Benutzer auf einem bestimmten Socket zu erzwingen?
Nur aus Neugier, haben Sie versucht, das Gleiche mit einem privilegierten Behälter (als root innen)? –
Wenn Sie auf meine Frage schauen, wo ich Konsole präsentiere. Ich habe gezeigt, dass ich als Benutzer jenkins versuchte, und dann wieder als root-Benutzer des Containers. Der Benutzer root hat Zugriff, der Benutzer jenkins nicht. –
Nur aus Neugierde, hast du das Gleiche mit einem * privilegierten * Container versucht (wie Jinkins drin) –