Zainstalowałem Dockera za pośrednictwem sklepu oprogramowania, co wskazało, że był to pakiet Snap. Wydaje mi się, że to w porządku, ale niestety każde polecenie, które wypróbowałem, nie działa:
$ docker info
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30/info: dial unix /var/run/docker.sock: connect: permission denied
Jakiś pomysł jak to naprawić?
Edycja: Na razie pracowałem nad tym, instalując Docker z własnych repozytoriów Dockera , co może działać również dla osób przeglądających to pytanie w przyszłości. Pozostawiam pytanie otwarte dla tych, którzy chcą mieć możliwość uruchomienia go z Snap.
16.04
ubuntu-gnome
snap
docker
Vincent
źródło
źródło
docker
grupy,id -nG
nie pokazywał dokera i żadnedocker
polecenie spowodowało błąd odmowy uprawnień. Wylogowanie i ponowne zalogowanie nie działało, ponieważ proces systemu dokera nadal działa. Ponowne uruchomienie systemu lub ponowne uruchomienie dokera pokazało użytkownika jako część grupy dokerów i umożliwiło wykonywanie poleceń dokera. UWAGA: 0 powtórzeń, nie można dodać komentarza.Odpowiedzi:
To jest ze strony GitHub, czy wypróbowałeś dokładnie te kroki:
Od Dockera przystawki github
źródło
addgroup
instrukcjami, które moim zdaniem dotyczą tego, co zrobiłem, zgodnie z innymi odpowiedziami. Niestety wolałbym nie dotykać już działającego systemu, ale chciałbym go usłyszeć, jeśli ktoś inny spróbuje tego i uda mu się go uruchomić.Komunikat o błędzie informuje, że bieżący użytkownik nie może uzyskać dostępu do silnika dokera, ponieważ nie masz uprawnień dostępu do gniazda unix w celu komunikacji z silnikiem.
Rozwiązanie tymczasowe
Użyj
sudo
polecenia, aby za każdym razem wykonywać polecenia z podwyższonymi uprawnieniami.Stałe (sugerowane) rozwiązanie
Dodaj bieżącego użytkownika do
docker
grupy. Można to osiągnąć przez pisanieMusisz się wylogować i zalogować ponownie, aby członkostwo w grupie zaczęło obowiązywać.
Źródło: techoverflow.net
źródło
docker
grupa nie istniała. Najpierw pobiegłem,sudo addgroup docker
a następnie zmieniłem polecenie, a następnie wylogowałem się i zalogowałem ponownie. Niestety błąd wskazany w pytaniu nadal występuje ...newgrp docker
lubgroups vincent
daje:vincent adm cdrom sudo dip plugdev lpadmin sambashare docker
sudo /etc/init.d/docker status
lubsudo service docker status
przetestuj to.ps cax | grep dockerd
daje31034 ? Ssl 0:05 dockerd
.Zakładam, że twoja nazwa użytkownika jest już w grupie dokerów. Aby to sprawdzić, wydaj poniższe polecenie.
Jeśli nie, musisz dodać użytkownika do grupy dokerów, wykonując poniższe polecenie.
Wykonanie polecenia
sudo systemctl start docker
powoduje utworzenie procesu dokowania. Ten proces dokera zawieradockerd
wątek demona. Polecenie tworzy również domyślnedocker.sock
gniazdo Unix.docker.sock
Gniazdo ciągły słuchałydockerd
demon wątku. Dzięki temu można wykonywaćdocker.pid
proces IPC na poziomie jądra . Aby móc korzystać z tego gniazda dokowania, musisz mieć odpowiednie uprawnienia z poziomu procesu (docker.pid
) i poziomu pliku (docker.sock
). Wykonanie poniżej dwóch poleceń powinno rozwiązać Twój problem.sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid
źródło
nie wymaga ponownego uruchomienia i jest bezpieczniejszy
źródło
Powinieneś dodać użytkownika do grupy Docker ( zobacz oficjalne dokumenty ).
Możesz dodać
sudo
przed poleceniem lub dodać użytkownika dodocker
grupy, używając tego polecenia:Wyloguj się i zaloguj ponownie, aby ponownie ocenić członkostwo w grupie.
źródło