Docker „Engedély megtagadva” hiba

Docker Engedely Megtagadva Hiba



Amikor a Dockerrel dolgozik, előfordulhat, hogy a parancs „engedély megtagadva” hibát ad vissza. Ez a hiba akkor fordul elő, ha a Dockert a parancshoz szükséges engedélyek nélkül próbálja meg futtatni.

A Docker alapértelmezés szerint sudo vagy root jogosultságokat igényel a társított parancsok végrehajtásához. Bármely parancs futtatásának kísérlete a szükséges jogosultságok nélkül a hírhedt „engedély megtagadva” hibához vezet.







Ez az oktatóanyag tartalmazza azokat a különféle módszereket és technikákat, amelyek segítségével kijavíthatja az „engedély megtagadva” hibát, amikor megpróbálja futtatni a Docker-parancsokat.



Ne feledje, hogy nem fedi le a Docker gyökér nélküli környezetben való futtatásának folyamatát. A gyökér nélküli Dockerről szóló oktatóanyagunkat a következő forrásban tekintheti meg:



Követelmények:

Ahogy sejtheti, a bejegyzés követéséhez a következők szükségesek:





    1. Docker 20.0 és újabb verzió
    2. Sudo vagy root jogosultságok a gazdagépen

Mi az „Engedély megtagadva” hiba?

Ha az „engedély megtagadva” hiba jelentkezik a Dockerben, az azt jelenti, hogy a gazdagép rendszer nem tud kommunikációt létesíteni a Docker démonnal az elégtelen engedélyek miatt. Egy példa látható az alábbiakban:

$ dokkolófuttatás -azt busybox SH



Ha találkozik az adott hibával, az alábbi módszerek valamelyikével megtudhatja, hogyan javíthatja ki.



1. módszer: Futtassa a Dockert gyökérként

Az első és legnyilvánvalóbb módszer a Docker „engedély megtagadva” hibájának megoldására a „sudo” parancs használata. Ha rendelkezik sudo jogosultságokkal, kijavíthatja a kapcsolódó parancs futtatásával a sudo segítségével.

Például az említett hiba kijavításához hozzáfűzhetjük a sudo-t a parancs elé a következőképpen:

$ sudo dokkolófuttatás -azt busybox SH



Mint látható, a Docker sikeresen lekéri a szükséges képeket, és futtatja a tárolót.

2. módszer: Indítsa újra a Docker démont

Néha előfordulhat, hogy a Dockerben az „engedély megtagadva” hibaüzenet jelenik meg, ha a motornak problémája van. A probléma kézi felderítése helyett megpróbálhatja a Docker démon gyors újraindítását az újratöltéshez.

Kezdje a Docker démon állapotának ellenőrzésével az alábbiak szerint:

$ docker systemctl állapot docker



Miután meggyőződött arról, hogy a Docker fut, indítsa újra a szolgáltatást a következő paranccsal:

$ sudo systemctl indítsa újra a dokkolót


Ennek be kell indítania a Docker démont, és ki kell javítania minden olyan lehetséges problémát, amely megakadályozhatja a parancsok futtatását.

3. módszer: Engedélyezze a nem root felhasználót

Egy másik módszer, amellyel megoldhatja a Docker „engedély megtagadva” hibáját, lehetővé teszi a nem root felhasználók számára a Docker-parancsok végrehajtását.

A módszer engedélyezéséhez jelentkezzen be a gazdagép rendszerbe, és hozzon létre egy új csoportot a Docker számára.

$ sudo groupadd -f dokkmunkás


Ezután adjon hozzá minden felhasználót a Docker-csoporthoz az alábbiak szerint:

$ sudo usermod -aG docker linuxhint


Az előző parancsnak hozzá kell adnia a linuxhint felhasználót a Docker csoporthoz.

Végül alkalmazza a csoport módosításait az aktuális munkamenetre a következő paranccsal:

$ newgrp docker


Ha elkészült, bármelyik Docker-parancsot futtathatja anélkül, hogy a Docker-csoport bármely felhasználójához használná a sudo-t.

4. módszer: Konfigurálja újra a Docker-engedélyeket

A következő használható módszer a Docker socketek engedélyeinek visszaállítása. Kezdje a Docker Unix socket tulajdonjogának megváltoztatásával a következő parancs futtatásával:

$ sudo chown root:docker / volt / fuss / dokkoló.zokni


Ezután vegye át a saját könyvtárában lévő rejtett Docker-könyvtár tulajdonjogát a következő paranccsal:

$ sudo chown -R ' $USER ' : ' $USER ' $HOME / .dokkmunkás


Végül rendelje hozzá az olvasási és írási jogosultságokkal rendelkező csoportot a könyvtárhoz az alábbiak szerint:

$ sudo chmod -R g+rw ' $HOME /.dokkmunkás'


A megadott metódusoknak elegendő engedélyt kell beállítaniuk az alapvető Docker-fájlok és -könyvtárak számára.

Következtetés

Ebben az oktatóanyagban megtanultuk, hogyan használhatjuk a négy fő módszert a Docker „engedély megtagadva” hiba megoldására a Docker-parancsok meghívásakor.