Грешка на Docker „Отказано разрешение“.

Greska Na Docker Otkazano Razresenie



Когато работите с Docker, може да срещнете случай, при който командата връща грешка „отказано разрешение“. Тази грешка възниква, когато се опитате да стартирате Docker без достатъчно разрешения за командата.

Docker изисква sudo или root разрешения за изпълнение на свързаните команди по подразбиране. Опитът за изпълнение на която и да е команда без необходимите привилегии води до прословутата грешка „отказано разрешение“.







Този урок предоставя различните методи и техники, които можете да използвате, за да коригирате грешката „отказано разрешение“, когато се опитвате да изпълните командите на Docker.



Имайте предвид, че не покрива процеса на стартиране на Docker в среда без root. Можете да проверите нашия урок за rootless Docker в следния ресурс:



Изисквания:

Както можете да предположите, за да следвате тази публикация, трябва да имате следното:





    1. Docker версия 20.0 и по-нова
    2. Sudo или root разрешения на хост системата

Какво представлява грешката „Отказано разрешение“?

Когато възникне грешка „отказано разрешение“ в Docker, това означава, че хост системата не може да установи комуникация с демона на Docker поради недостатъчни разрешения. Пример е показан в следното:

$ докер изпълнение -то busybox ш



Ако срещнете дадената грешка, можете да използвате някои от следните методи, за да научите как да я коригирате.



Метод 1: Стартирайте Docker като root

Първият и най-очевиден метод за разрешаване на грешката „отказано разрешение“ на Docker е използването на командата „sudo“. Ако имате привилегии на sudo, можете да го поправите, като изпълните свързаната команда с помощта на sudo.

Например, за да коригираме споменатата грешка, можем да добавим sudo преди командата, както следва:

$ sudo докер изпълнение -то busybox ш



Както можете да видите, Docker успешно изтегля необходимите изображения и стартира контейнера.

Метод 2: Рестартирайте Docker Daemon

Понякога можете да получите грешката „отказано разрешение“ в Docker, ако двигателят има проблем. Вместо ръчно да проследявате проблема, можете да опитате бързо да рестартирате демона Docker, за да го презаредите.

Започнете, като проверите състоянието на Docker демона, както следва:

$ докер systemctl състояние докер



След като се уверите, че Docker работи, рестартирайте услугата със следната команда:

$ sudo systemctl рестартиране на докер


Това трябва да зареди демона на Docker и да коригира всеки потенциален проблем, който може да ви пречи да изпълнявате която и да е команда.

Метод 3: Активиране на не-Root потребител

Друг метод, който можете да използвате, за да разрешите грешката „отказано разрешение“ в Docker, е да позволите на потребителите, които не са root, да изпълняват командите на Docker.

За да активирате този метод, влезте в хост системата и създайте нова група за Docker.

$ sudo groupadd -f докер


След това добавете всеки потребител, който желаете, към групата Docker, както следва:

$ sudo потребителски мод -aG докер linuxhint


Предишната команда трябва да добави потребителя на linuxhint към групата Docker.

И накрая, приложете груповите промени към текущата сесия, като използвате следната команда:

$ newgrp докер


След като приключите, можете да стартирате всяка Docker команда, без да използвате sudo за всеки потребител в Docker групата.

Метод 4: Преконфигурирайте разрешенията на Docker

Следващият метод, който можете да използвате, е нулиране на разрешенията за Docker сокети. Започнете, като промените собствеността на сокета на Docker Unix, като изпълните следната команда:

$ sudo хапвам корен: докер / беше / тичам / докер.чорап


След това поемете собственост върху скритата директория Docker във вашата домашна директория, като използвате командата, както следва:

$ sudo хапвам ' $USER ' : ' $USER ' $HOME / .докер


И накрая, задайте групата с разрешения за четене и запис към директорията, както следва:

$ sudo chmod g+rw ' $HOME /.docker'


Предоставените методи трябва да задават достатъчни разрешения за основни файлове и директории на Docker.

Заключение

В този урок научихме как можем да използваме четирите основни метода за разрешаване на грешката Docker „отказано разрешение“ при извикване на Docker команда.