Pogreška Docker 'Permission Denied'.

Pogreska Docker Permission Denied



Kada radite s Dockerom, možete naići na instancu u kojoj naredba vraća pogrešku 'permission denied'. Ova se pogreška javlja kada pokušate pokrenuti Docker bez dovoljnih dozvola za naredbu.

Docker prema zadanim postavkama zahtijeva sudo ili root dozvole za izvršavanje pridruženih naredbi. Pokušaj pokretanja bilo koje naredbe bez potrebnih privilegija dovodi do zloglasne pogreške 'dozvola odbijena'.







Ovaj vodič pruža različite metode i tehnike koje možete koristiti za ispravljanje pogreške 'dozvola odbijena' prilikom pokušaja pokretanja Docker naredbi.



Imajte na umu da ne pokriva proces pokretanja Dockera u okruženju bez korijena. Možete pogledati naš vodič o Dockeru bez root-a u sljedećem resursu:



Zahtjevi:

Kao što možete pogoditi, da biste pratili ovu objavu, morate imati sljedeće:





    1. Docker verzija 20.0 i novije
    2. Sudo ili root dozvole na glavnom sustavu

Što je pogreška 'Dozvola odbijena'?

Kada se u Dockeru pojavi pogreška 'dozvola odbijena', to znači da glavni sustav ne može uspostaviti komunikaciju s Docker demonom zbog nedovoljnih dozvola. Primjer je prikazan u nastavku:

$ docker run -to busybox sh



Ako naiđete na zadanu pogrešku, možete upotrijebiti neke od sljedećih metoda da biste saznali kako je popraviti.



Metoda 1: Pokrenite Docker kao root

Prva i najočitija metoda rješavanja Dockerove pogreške 'permission denied' je korištenje naredbe 'sudo'. Ako imate sudo privilegije, to možete popraviti pokretanjem pridružene naredbe koristeći sudo.

Na primjer, da bismo ispravili navedenu pogrešku, možemo dodati sudo prije naredbe na sljedeći način:

$ sudo docker run -to busybox sh



Kao što vidite, Docker uspješno povlači potrebne slike i pokreće spremnik.

Metoda 2: Ponovno pokrenite Docker Daemon

Ponekad možete dobiti pogrešku 'dozvola odbijena' u Dockeru ako motor ima problema. Umjesto da ručno pronađete problem, možete pokušati brzo ponovno pokrenuti demon Docker da biste ga ponovno učitali.

Započnite provjerom statusa Docker demona na sljedeći način:

$ docker systemctl status docker



Nakon što provjerite radi li Docker, ponovno pokrenite uslugu sljedećom naredbom:

$ sudo Docker za ponovno pokretanje systemctl


Ovo bi trebalo pokrenuti Docker demon i riješiti svaki potencijalni problem koji bi vas mogao spriječiti da pokrenete bilo koju naredbu.

Metoda 3: Omogućite nekorijenskog korisnika

Druga metoda koju možete upotrijebiti za rješavanje pogreške 'dozvola odbijena' u Dockeru je dopuštanje nekorijenskim korisnicima da izvršavaju Docker naredbe.

Da biste omogućili ovu metodu, prijavite se u sustav domaćina i stvorite novu grupu za Docker.

$ sudo groupadd -f lučki radnik


Zatim dodajte bilo kojeg korisnika kojeg želite u Docker grupu na sljedeći način:

$ sudo korisnički mod -aG docker linuxhint


Prethodna naredba trebala bi dodati korisnika linuxhinta u Docker grupu.

Na kraju, primijenite grupne promjene na trenutnu sesiju pomoću sljedeće naredbe:

$ newgrp docker


Nakon dovršetka, možete pokrenuti bilo koju Docker naredbu bez korištenja sudo za bilo kojeg korisnika u Docker grupi.

Metoda 4: Ponovno konfigurirajte Docker dozvole

Sljedeća metoda koju možete koristiti je resetiranje dopuštenja za Docker utičnice. Započnite promjenom vlasništva Docker Unix utičnice pokretanjem sljedeće naredbe:

$ sudo žvakati root:docker / bio je / trčanje / doker.čarapa


Zatim preuzmite vlasništvo nad skrivenim Docker direktorijem u svom matičnom direktoriju koristeći naredbu kako slijedi:

$ sudo žvakati -R ' $USER ' : ' $USER ' $HOME / .lučki radnik


Na kraju, dodijelite grupi s dozvolama za čitanje i pisanje direktoriju na sljedeći način:

$ sudo chmod -R g+rw ' $HOME /.lučki radnik'


Navedene metode trebale bi postaviti dovoljna dopuštenja za bitne Docker datoteke i direktorije.

Zaključak

U ovom vodiču naučili smo kako možemo koristiti četiri glavne metode za rješavanje Dockerove pogreške 'dopuštenje odbijeno' prilikom pozivanja Docker naredbe.