Błąd „Odmowa uprawnień” w oknie Docker

Blad Odmowa Uprawnien W Oknie Docker



Podczas pracy z Dockerem możesz spotkać się z sytuacją, w której polecenie zwróci błąd „odmowa uprawnień”. Ten błąd występuje, gdy próbujesz uruchomić okno Docker bez wystarczających uprawnień do tego polecenia.

Docker domyślnie wymaga uprawnień sudo lub root do wykonywania powiązanych poleceń. Próba uruchomienia dowolnego polecenia bez wymaganych uprawnień prowadzi do niesławnego błędu „odmowa uprawnień”.







W tym samouczku przedstawiono różne metody i techniki, których można użyć do naprawienia błędu „odmowa uprawnień” podczas próby uruchomienia poleceń Dockera.



Należy pamiętać, że nie obejmuje procesu uruchamiania Dockera w środowisku bez rootowania. Możesz sprawdzić nasz samouczek na temat Dockera bez rootowania w następującym zasobie:



Wymagania:

Jak możesz się domyślić, aby móc śledzić ten post, musisz mieć:





    1. Docker w wersji 20.0 i nowszej
    2. Sudo lub uprawnienia roota w systemie hosta

Co oznacza błąd „Odmowa uprawnień”?

Kiedy w Dockerze pojawi się błąd „odmowa uprawnień”, oznacza to, że system hosta nie może nawiązać komunikacji z demonem Dockera z powodu niewystarczających uprawnień. Przykład pokazano poniżej:

$ uruchomienie dokera -To zajętybox cii



Jeśli napotkasz dany błąd, możesz skorzystać z poniższych metod, aby dowiedzieć się, jak go naprawić.



Metoda 1: Uruchom Docker jako root

Pierwszą i najbardziej oczywistą metodą rozwiązania błędu „odmowy uprawnień” Dockera jest użycie polecenia „sudo”. Jeśli masz uprawnienia sudo, możesz to naprawić, uruchamiając powiązane polecenie za pomocą sudo.

Na przykład, aby naprawić wspomniany błąd, możemy dodać sudo przed poleceniem w następujący sposób:

$ sudo uruchomienie dokera -To zajętybox cii



Jak widać, Docker pomyślnie pobiera wymagane obrazy i uruchamia kontener.

Metoda 2: Uruchom ponownie demona Docker

Czasami w Dockerze może pojawić się błąd „odmowa uprawnień”, jeśli silnik ma problem. Zamiast ręcznie śledzić problem, możesz spróbować szybko zrestartować demona Docker, aby go ponownie załadować.

Zacznij od sprawdzenia statusu demona Docker w następujący sposób:

$ okno dokowane okno dokowane stanu systemuctl



Po upewnieniu się, że Docker działa, uruchom ponownie usługę za pomocą następującego polecenia:

$ sudo okno dokowane systemctl restart


Powinno to uruchomić demona Dockera i rozwiązać wszelkie potencjalne problemy, które mogą uniemożliwiać uruchomienie dowolnego polecenia.

Metoda 3: Włącz użytkownika innego niż root

Inną metodą rozwiązania problemu „odmowy uprawnień” w Dockerze jest umożliwienie użytkownikom innym niż root wykonywania poleceń Dockera.

Aby włączyć tę metodę, zaloguj się do systemu hosta i utwórz nową grupę dla Dockera.

$ sudo dodanie grupy -F doker


Następnie dodaj dowolnego użytkownika do grupy Docker w następujący sposób:

$ sudo mod użytkownika -aG doker linuxhint


Poprzednie polecenie powinno dodać użytkownika linuxhint do grupy Docker.

Na koniec zastosuj zmiany grupowe w bieżącej sesji, używając następującego polecenia:

$ okno dokowane newgrp


Po zakończeniu możesz uruchomić dowolne polecenie Dockera bez używania sudo dla dowolnego użytkownika w grupie Docker.

Metoda 4: Ponownie skonfiguruj uprawnienia platformy Docker

Następną metodą, którą możesz zastosować, jest zresetowanie uprawnień do gniazd Docker. Zacznij od zmiany własności gniazda Docker Unix, uruchamiając następującą komendę:

$ sudo chowane korzeń: okno dokowane / był / uruchomić / skarpeta dokowana


Następnie przejmij na własność ukryty katalog Docker w swoim katalogu domowym, używając następującego polecenia:

$ sudo chowane -R ' $UŻYTKOWNIK ' : ' $UŻYTKOWNIK ' $DOM / .doker


Na koniec przypisz grupie uprawnienia do odczytu i zapisu do katalogu w następujący sposób:

$ sudo chmod -R g+rw ' $DOM /.doker'


Dostarczone metody powinny ustawiać wystarczające uprawnienia do niezbędnych plików i katalogów Dockera.

Wniosek

W tym samouczku dowiedzieliśmy się, jak możemy użyć czterech głównych metod rozwiązania błędu „odmowy uprawnień” Dockera podczas wywoływania polecenia Dockera.