Dockerin 'Lupa estetty' -virhe

Dockerin Lupa Estetty Virhe



Kun työskentelet Dockerin kanssa, saatat kohdata tapauksen, jossa komento palauttaa 'lupa estetty' -virheen. Tämä virhe ilmenee, kun yrität suorittaa Dockerin ilman riittäviä oikeuksia komentoon.

Docker tarvitsee oletusarvoisesti sudo- tai root-oikeudet suorittaakseen liittyvät komentot. Minkä tahansa komennon suorittaminen ilman vaadittuja oikeuksia johtaa surullisen 'lupa estetty' -virheeseen.







Tämä opetusohjelma sisältää erilaisia ​​​​menetelmiä ja tekniikoita, joilla voit korjata 'lupa estetty' -virheen, kun yrität suorittaa Docker-komentoja.



Muista, että se ei kata Dockerin suorittamista juurettomassa ympäristössä. Voit tarkistaa rootless Docker -oppaamme seuraavasta resurssista:



Vaatimukset:

Kuten arvata saattaa, tämän postauksen seuraaminen edellyttää, että sinulla on seuraavat tiedot:





    1. Docker-versio 20.0 tai uudempi
    2. Isäntäjärjestelmän sudo- tai root-oikeudet

Mikä on 'Lupa evätty' -virhe?

Kun Dockerissa ilmenee 'lupa estetty' -virhe, se tarkoittaa, että isäntäjärjestelmä ei voi muodostaa yhteyttä Docker-daemonin kanssa riittämättömien oikeuksien vuoksi. Esimerkki on esitetty seuraavassa:

$ telakkajuoksu -se varattu laatikko sh



Jos kohtaat annetun virheen, voit käyttää joitain seuraavista tavoista oppiaksesi korjaamaan sen.



Tapa 1: Suorita Docker juurina

Ensimmäinen ja ilmeisin tapa ratkaista Dockerin 'lupa estetty' -virhe on 'sudo' -komennon käyttäminen. Jos sinulla on sudo-oikeudet, voit korjata sen suorittamalla siihen liittyvän komennon käyttämällä sudoa.

Esimerkiksi korjataksesi mainitun virheen, voimme liittää komennon eteen sudo seuraavasti:

$ sudo telakkajuoksu -se varattu laatikko sh



Kuten näet, Docker vetää vaaditut kuvat onnistuneesti ja suorittaa säilön.

Tapa 2: Käynnistä Docker-Daemon uudelleen

Joskus voit saada 'lupa estetty' -virheen Dockerissa, jos moottorissa on ongelma. Sen sijaan, että jäljittäisit ongelman manuaalisesti, voit yrittää käynnistää Docker-daemonin nopeasti uudelleen ladataksesi sen uudelleen.

Aloita tarkistamalla Docker-daemonin tila seuraavasti:

$ docker systemctl status docker



Kun olet varmistanut, että Docker on käynnissä, käynnistä palvelu uudelleen seuraavalla komennolla:

$ sudo systemctl käynnistä docker uudelleen


Tämän pitäisi käynnistää Docker-daemon ja korjata mahdolliset ongelmat, jotka saattavat estää sinua suorittamasta mitään komentoja.

Tapa 3: Ota käyttöön ei-root-käyttäjä

Toinen tapa, jolla voit ratkaista Dockerin 'lupa estetty' -virheen, on sallia muiden kuin pääkäyttäjien suorittaa Docker-komentoja.

Ota tämä menetelmä käyttöön kirjautumalla isäntäjärjestelmään ja luomalla uusi ryhmä Dockerille.

$ sudo ryhmälisää -f satamatyöläinen


Lisää seuraavaksi kaikki haluamasi käyttäjät Docker-ryhmään seuraavasti:

$ sudo usermod -aG docker linuxhint


Edellisen komennon pitäisi lisätä linuxhint-käyttäjä Docker-ryhmään.

Ota lopuksi ryhmämuutokset käyttöön nykyiseen istuntoon käyttämällä seuraavaa komentoa:

$ newgrp-telakka


Kun olet valmis, voit suorittaa minkä tahansa Docker-komennon käyttämättä sudoa millekään Docker-ryhmän käyttäjälle.

Tapa 4: Määritä Dockerin käyttöoikeudet uudelleen

Seuraava tapa, jota voit käyttää, on Docker-sockettien käyttöoikeuksien palauttaminen. Aloita muuttamalla Docker Unix -socketin omistajuutta suorittamalla seuraava komento:

$ sudo chown root:docker / oli / juosta / telakka.sukka


Ota seuraavaksi kotihakemistosi piilotettu Docker-hakemisto omistukseen käyttämällä seuraavaa komentoa:

$ sudo chown -R ' $USER ' : ' $USER ' $HOME / .satamatyöläinen


Määritä lopuksi ryhmä, jolla on luku- ja kirjoitusoikeudet hakemistoon seuraavasti:

$ sudo chmod -R g+rw ' $HOME /.satamatyöläinen'


Tarjottujen menetelmien tulee asettaa riittävät oikeudet tärkeille Docker-tiedostoille ja -hakemistoille.

Johtopäätös

Tässä opetusohjelmassa opimme, kuinka voimme käyttää neljää päämenetelmää Dockerin 'lupa estetty' -virheen ratkaisemiseen Docker-komentoa vedettäessä.