Recentemente ho installato Docker su Ubuntu. È stato super facile. Ma quando ho provato a eseguire un comando docker, mi ha lanciato questo errore:
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
Non è che sto cercando di eseguire qualcosa di speciale. Succede anche per i comandi docker di base come ps.
Strano, vero? Lascia che ti mostri come superare questo fastidioso errore.
Risolto il problema con l'autorizzazione negata durante il tentativo di connettersi all'errore Docker daemon socket' con Docker in Ubuntu
Ci sono due modi per affrontarlo.
Correzione 1:esegui tutti i comandi docker con sudo
Se hai accesso sudo sul tuo sistema, puoi eseguire ogni comando docker con sudo e non vedrai più questo "Autorizzazione negata durante il tentativo di connessione al socket del demone Docker".
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
Ma eseguire ogni singolo comando della finestra mobile con sudo è super scomodo. Ti manca l'aggiunta di sudo all'inizio e riceverai di nuovo l'errore "permesso negato".
Correzione 2:esecuzione di comandi docker senza sudo
Per eseguire i comandi della finestra mobile senza sudo, puoi aggiungere il tuo account utente (o l'account per cui stai cercando di risolvere questo problema) al gruppo della finestra mobile.
Innanzitutto, crea il gruppo Docker usando il comando groupadd. Il gruppo potrebbe già esistere, ma eseguire il comando di creazione del gruppo non danneggerà.
sudo groupadd docker
Ora che hai il gruppo Docker, aggiungi il tuo utente a questo gruppo con il comando usermod. Presumo che tu stia provando a farlo per il tuo account utente e, in tal caso, puoi utilizzare la variabile $USER.
sudo usermod -aG docker $USER
Verifica che il tuo utente sia stato aggiunto al gruppo Docker elencando gli utenti del gruppo. Probabilmente devi disconnetterti e riconnetterti .
[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker
Se controlli che i tuoi gruppi e i gruppi docker non sono elencati anche dopo il logout, potresti dover riavviare Ubuntu . Per evitarlo, puoi usare il comando newgrp come questo:
newgrp docker
Ora, se provi a eseguire i comandi della finestra mobile senza sudo, dovrebbe funzionare perfettamente.
Ulteriore risoluzione dei problemi
In alcuni casi, potrebbe essere necessario aggiungere autorizzazioni aggiuntive ad alcuni file, specialmente se in passato hai eseguito i comandi della finestra mobile con sudo.
Puoi provare a modificare la proprietà del gruppo del file /var/run/docker.sock.
sudo chown root:docker /var/run/docker.sock
Puoi anche provare a modificare la proprietà del gruppo della directory ~/.docker.
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
E poi prova a eseguire Docker con sudo. Dovrebbe andare bene.
Spero che questo piccolo tutorial ti abbia aiutato a risolvere il fastidioso "Autorizzazione negata durante il tentativo di connessione al socket del demone Docker su unix:///var/run/docker.sock:Ottieni http://%2Fvar%2Frun %2Fdocker.sock/v1.39/containers/json:comporre unix /var/run/docker.sock:connettersi:autorizzazione negata ” errore con Docker in Ubuntu.
Ti ha risolto il problema? Se sì, accolgo con favore un rapido commento di ringraziamento da parte tua. In caso contrario, sarò felice di aiutarti a risolvere ulteriormente questo problema.