Mam docker w konfiguracji docker dla CI. Zasadniczo maszyna ma serwer CI z jenkins, który używa tego samego gniazda dokowanego do tworzenia węzłów dla CI.Docker w błędzie Docker permissions
To działało świetnie, dopóki nie zaktualizowałem ostatnio okna dokowania. Zidentyfikowaliśmy problem, ale nie potrafię znaleźć odpowiedniej magii, aby to zadziałało.
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! ...
Oto, co przypuszczam. Mam dostęp do gniazda dokowanego hosta z poziomu kontenera, ale nie mogę wydawać pozwolenia użytkownikowi Jenkins.
Dodałem grupę doków, a także dodałem użytkownika jenkins do grupy docker. Ale wciąż mam ten sam błąd. Znowu zacząłem walić razy, więc nie jestem pewien, co robić dalej.
Czy istnieje sposób na wymuszenie uprawnień dla użytkownika na określonym gnieździe?
Tak z ciekawości, czy spróbować to samo z uprzywilejowanej pojemnika (jako root w środku)? –
Jeśli spojrzysz na moje pytanie, gdzie przedstawiam konsolę. Pokazałem, że próbowałem jako użytkownik jenkins, a następnie ponownie jako użytkownik root kontenera. Użytkownik root ma dostęp, użytkownik jenkins nie. –
Po prostu z ciekawości, czy spróbowałeś tego samego z pojemnikiem * uprzywilejowanym * (jak jenkins wewnątrz) –