web-dev-qa-db-de.com

Wie kann man "Unix /var/run/docker.sock: verbinden: Berechtigung verweigert" beheben, wenn Gruppenberechtigungen richtig machen?

Ich habe nach einem Update von Ubuntu 18.04 plötzlich Probleme: Vorher habe ich Docker ohne Probleme auf dem System verwendet, aber plötzlich kann ich es nicht. Soweit ich das beurteilen kann, sehen die Berechtigungen richtig aus:

$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
$ ls -last /var/run/docker.sock 
0 srw-rw---- 1 root docker 0 Jul 14 09:10 /var/run/docker.sock
$ whoami
brandon
$ cat /etc/group | grep docker
docker:x:995:brandon
nvidia-docker:x:994:

BEARBEITEN:

Gruppeninformationen:

$ groups
brandon
$ groups brandon
brandon : brandon adm cdrom Sudo dip plugdev games lpadmin sambashare docker
$ whoami
brandon

Update

Seit dem ursprünglichen Beitrag, bei dem ich ein System von 17.04 auf 18.04 aktualisiert habe, habe ich zwei Upgrades von 16.04 auf 18.04 durchgeführt, und keines der späteren Systeme hatte das Problem. Es könnte also etwas mit dem Upgrade-Prozess von 17.04 auf 18.04 zu tun haben. Ich muss noch eine neue 18.04 Installation durchführen.

5
bbarker

fügen Sie den Benutzer der Andockgruppe hinzu. 

Sudo usermod -aG docker $USER
Sudo reboot
4
Karen Danielyan
Sudo setfacl -m user:brandon:rw /var/run/docker.sock

kein Neustart erforderlich

2
Nahshon paz

Ich führe aus: Sudo docker run -it -p 8889: 8888 -v/home/Documents/pa1:/home/ucsddse230/work ucsddse230/cse255-dse230/bin/bash

und es funktioniert bei mir, vorausgesetzt:

ucsddse230 @ 50f69cc7cb0a: ~/work $

0
Jogabell

Ich habe die schnelle Lösung gemacht und es hat sofort funktioniert. 

Sudo chmod 777 /var/run/docker.sock
0
parth

Speziell für Ubuntu gibt es ein bekanntes Problem mit lightdm, das sekundäre Gruppen aus dem Benutzer entfernt, als Teil der GUI-Anmeldung. Sie können dieses Problem hier verfolgen: https://bugs.launchpad.net/lightdm/+bug/1781418

Sie können versuchen, lightdm auszuschalten oder die im Fehlerbericht erwähnte Problemumgehung anzuwenden:

[Kommentieren Sie die folgenden Zeilen aus /etc/pam.d/lightdm:]

auth optional pam_kwallet.so
auth optional pam_kwallet5.so

Zu den temporären Optionen zählen das Anmelden an Ihrem Computer mit einem Befehl wie ssh oder su -l oder Ausführen des Befehls newgrp docker. Diese betreffen nur die aktuelle Shell und müssen bei jedem neuen Terminal erneut ausgeführt werden.


Außerhalb dieses Problems sind die allgemeinen Befehle, mit denen ein Benutzer direkten Zugriff auf den Docker-Socket (und damit den Root-Zugriff auf den Host) erhält, folgende Befehle:

Sudo usermod -aG docker $(id -un) # you can often use $USER in place of the id command
newgrp docker # affects the current Shell, logging out should affect all shells
0
BMitch