GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So beheben Sie den Docker Permission Denied-Fehler unter Ubuntu

Kürzlich habe ich Docker auf Ubuntu installiert. Es war supereinfach. Aber als ich versuchte, einen Docker-Befehl auszuführen, wurde mir dieser Fehler angezeigt:

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.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied

Es ist nicht so, dass ich versuche, etwas Besonderes zu leiten. Es passiert auch für grundlegende Docker-Befehle wie ps.

Seltsam, nicht wahr? Lassen Sie mich Ihnen zeigen, wie Sie diesen ärgerlichen Fehler umgehen können.

Fixing „Berechtigung wurde beim Versuch verweigert Verbinden mit dem Docker-Daemon-Socket-Fehler mit Docker in Ubuntu

Es gibt zwei Möglichkeiten, damit umzugehen.

Lösung 1:Alle Docker-Befehle mit sudo ausführen

Wenn Sie sudo-Zugriff auf Ihrem System haben, können Sie jeden Docker-Befehl mit sudo ausführen und Sie werden nicht mehr sehen, dass „Erlaubnis verweigert, während versucht wird, eine Verbindung zum Docker-Daemon-Socket herzustellen“.

sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
13dc0f4226dc        ubuntu              "bash"              17 hours ago        Exited (0) 16 hours ago                       container-2
2d9a8c190e6c        ubuntu              "/bin/bash"         17 hours ago        Created                                       container-1

Aber das Ausführen jedes Docker-Befehls mit sudo ist sehr unpraktisch. Sie verpassen das Hinzufügen von sudo am Anfang und Sie erhalten erneut die Fehlermeldung „Zugriff verweigert“.

Lösung 2:Docker-Befehle ohne sudo ausführen

Um die Docker-Befehle ohne sudo auszuführen, können Sie Ihr Benutzerkonto (oder das Konto, für das Sie versuchen, dieses Problem zu beheben) zur Docker-Gruppe hinzufügen.

Erstellen Sie zunächst die Docker-Gruppe mit dem Befehl groupadd. Die Gruppe kann bereits existieren, aber das Ausführen des Gruppenerstellungsbefehls schadet nicht.

sudo groupadd docker

Nachdem Sie nun die Docker-Gruppe haben, fügen Sie Ihren Benutzer mit dem Befehl usermod zu dieser Gruppe hinzu. Ich gehe davon aus, dass Sie versuchen, dies für Ihr eigenes Benutzerkonto zu tun, und in diesem Fall können Sie die Variable $USER verwenden.

sudo usermod -aG docker $USER

Überprüfen Sie, ob Ihr Benutzer zur Docker-Gruppe hinzugefügt wurde, indem Sie die Benutzer der Gruppe auflisten. Wahrscheinlich müssen Sie sich abmelden und wieder anmelden .

[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker

Wenn Sie Ihre Gruppen überprüfen und Docker-Gruppen auch nach dem Abmelden nicht aufgelistet werden, müssen Sie Ubuntu möglicherweise neu starten . Um dies zu vermeiden, können Sie den newgrp-Befehl wie diesen verwenden:

newgrp docker

Wenn Sie jetzt versuchen, die Docker-Befehle ohne sudo auszuführen, sollte es problemlos funktionieren.

Weitere Fehlerbehebung

In einigen Fällen müssen Sie möglicherweise einigen Dateien zusätzliche Berechtigungen hinzufügen, insbesondere wenn Sie die Docker-Befehle in der Vergangenheit mit sudo ausgeführt haben.

Sie können versuchen, den Gruppenbesitz der Datei /var/run/docker.sock zu ändern.

sudo chown root:docker /var/run/docker.sock

Sie können auch versuchen, den Gruppenbesitz des Verzeichnisses ~/.docker zu ändern.

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

Versuchen Sie dann, Docker mit sudo auszuführen. Es sollte in Ordnung sein.

Ich hoffe, dieses kleine Tutorial hat Ihnen geholfen, das lästige „Berechtigung verweigert beim Versuch, eine Verbindung zum Docker-Daemon-Socket unter unix:///var/run/docker.sock herzustellen“ zu beheben:Holen Sie sich http://%2Fvar%2Frun %2Fdocker.sock/v1.39/containers/json:Wählen Sie Unix /var/run/docker.sock:Verbinden:Zugriff verweigert ” Fehler mit Docker in Ubuntu.

Hat es das Problem für Sie behoben? Wenn ja, freue ich mich über einen kurzen Dankeskommentar von Ihnen. Falls nicht, helfe ich Ihnen gerne weiter, um dieses Problem zu beheben.


Docker
  1. So installieren Sie Docker unter Ubuntu 16.04

  2. So installieren Sie Docker unter Debian / Ubuntu

  3. Wie zu beheben – Sudo kann den Host in Ubuntu nicht auflösen?

  4. Wie behebt man Abhängigkeitsprobleme in Ubuntu 16.04?

  5. So installieren Sie Docker unter Ubuntu 20.04 LTS

Behebung des NO_PUBKEY-Fehlers bei der Docker-Installation auf Ubuntu 20.04 LTS

So beheben Sie den Apt-Get GPG-Fehler NO_PUBKEY Ubuntu 14

So installieren Sie Docker unter Ubuntu 20.04 LTS

So installieren Sie Wiki.js unter Ubuntu 20.04 LTS

So installieren Sie Docker Compose auf Ubuntu

So installieren und verwenden Sie Docker unter Ubuntu 20.04