Docker Permission Denied – So behebst du den Fehler
Jeder Docker Befehl gibt nur „Permission Denied“ zurück? Keine Panik, in diesem Beitrag erfährst du wie du den Docker Permission Denied Fehler einfach beheben kannst.
Du bekommst diese oder oder eine ähnlichen Fehlermeldung? Dann bist du hier genau richtig!
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get „http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json“: dial unix /var/run/docker.sock: connect: permission denied
Solltest du die Fehlermeldung „unable to read config file: open…“ bekommen, springe direkt zur Lösung.
Docker Permission Denied
Das Problem tritt auf, wenn du Docker neu installiert oder geupdatet hast und den docker
Befehl als Nicht-Administrator ausführen möchtest.
Jetzt gibt es mehrere Gründe, warum der Fehler auftaucht und entsprechend auch mehrere Möglichkeiten bzw. Optionen das Problem zu lösen. Probiere dich einfach durch die verschiedenen Methoden in diesem Beitrag, bis Docker (wieder) problemlos läuft.
Docker Permission Denied Fehler beheben
Option 1: Docker als Administrator ausführen
Das Problem ist schnell gelöst, wenn du ihn einfach als Administrator/Root User ausführst, also mit sudo
.
sudo docker run hello-world
In den meisten Fällen, möchtest du den Docker Befehl jedoch mit dem aktuellen (nicht-Administrator) Nutzer ausführen. Deshalb kommt jetzt Option 2.
Option 2: Berechtigungen für Nicht-Root User anpassen
Solltest du Docker unter Linux oder in einer Linux-Distribution in WSL2 unter Windows nutzen, kannst du die Berechtigungen für den Docker Socket anpassen. Führe dazu die folgenden Befehle aus (Docker Dokumentation):
# 1. Create docker group sudo groupadd docker # 2. Add current user to the docker group sudo usermod -aG docker $USER # 3. Reload the group configuration newgrp docker
Jetzt solltest du den docker
Befehl ohne sudo
nutzen können:
docker run hello-world
Sollte das auch nicht funktionieren, probiere Option 3.
Option 3: Docker Socket Permission anpassen
Möglicherweise wurden die Berechtigungen für die docker.sock Datei verändert und der aktuelle User hat keinen Zugriff darauf. Um die Permissions anzupassen, führe den folgenden Befehle aus:
# Change owner of the docker.sock file sudo chown root:docker /var/run/docker.sock
Docker Config „Permission Denied“
Erhältst du diese Fehlermeldung?
WARNING: unable to read config file: open /home/<USER>/.docker/config.json: permission denied
/home/lh/.docker/config.json: open /home/<USER>/.docker/config.json: permission denied
Die Berechtigungen für das .docker Verzeichnis in deinem Home-Verzeichnis sind fehlerhaft. Passe die Berechtigungen mit diesen Befehlen an.
# 1. Set correct owner for the .docker directory sudo chown "$USER":"$USER" /home/"$USER"/.docker -R # 2. Fix the permissions for the .docker directory sudo chmod g+rwx "$HOME/.docker" -R
Das Problem sollte dadurch gelöst sein!
Fazit
Mit diesen Optionen solltest du das Docker Permission Denied Problem lösen können. Noch ein kleiner Tipp zum Schluss: Kennst du schon den Docker Init Befehl, um automatisch ein Dockerfile, .dockerignore und compose.yaml zu erzeugen? Erfahre mehr: Docker Init Befehl
Wie fandest du diesen Beitrag?