problem z dokerem


32

Próbuję dowiedzieć się o „Docker” w Ubuntu 15.04.

Gdy podaję dowolne polecenie za pomocą okna dokowanego, takiego jak „Uruchom obraz dokera”, pojawia się następujący błąd:

FATA[0000] Post http:///var/run/docker.sock/v1.17/containers/create: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

Nie rozumiem co to znaczy.


5
Otrzymałem ten komunikat o błędzie, a następnie uruchomiłem demona sudo service docker start. Wtedy mogłem biec sudo docker run hello-world. Powodzenia.
łupacz

Odpowiedzi:


31

Istnieją dwa możliwe powody, dla których pojawia się ten błąd:

  1. Demon Docker nie działa. Możesz to sprawdzić za pomocą sudo /etc/init.d/docker status.

  2. Demon Docker działa, ale jest skonfigurowany tak, aby nie nasłuchiwał /var/run/docker.sock. Możesz sprawdzić, /etc/default/dockerczy jakaś -Hopcja jest określona w DOCKER_OPTS.


3
+1. Musiałem tylko użyć, $ sudo service docker statusodkąd dostałem$ sudo /etc/init.d/docker status * Docker is managed via upstart, try using service docker status
IsaacS

Po uruchomieniu sudo /etc/init.d/docker statuszauważyłem, że usługa dokowania była wyłączona. Uruchomiłem sudo /etc/init.d/docker start, a następnie mogłem uruchomić obraz dokera.
Halil

Wydaje się, że / etc / default / docker nie jest już użyteczny w systemied (Ubuntu 16.04+). BTW w systemie to kanoniczny sposób sprawdzania statusu demona to sudo systemctl status docker.
Pablo A,

38

Po zainstalowaniu Dockera pojawi się monit o dodanie użytkownika do grupy dokerów. Po prostu uruchom pokazane polecenie:

sudo usermod -aG docker $USER

Musisz zamknąć sesję i zalogować się ponownie, aby zmiana zaczęła obowiązywać.


prawdopodobnie najprostszy. Nie wiem, czy to działa, chociaż (użyłem @ decebal) odpowiedź.
Yair Daon

Nie dostałem tego monitu. Jestem na Raspberry Pi.
IgorGanapolsky

Aby później dodać się do grupy dokerów, uruchom sudo usermod -a -G docker <user>. Zobacz tutaj, aby uzyskać więcej informacji.
Hugh W

3
Nacisk na „zamknij sesję” - dzięki!
Dolan Antenucci

Na Ubuntu 18.04 z Gnome musiałem zrestartować system, aby to zadziałało. Samo wylogowanie i ponowne zalogowanie nie działało: /
Zoltán

15

Spróbuj ponownie uruchomić system operacyjny po zainstalowaniu dokera, aby zastosować uprawnienia grupy, jeśli użytkownik dołączył do grupy dokerów.

Aktualizacja:

Podczas instalacji Dockera na Ubuntu 14.04, instalator poleca to, co użytkownik dodaje do grupy Docker, aby uzyskać dostęp do usługi Docker.

Patrzeć na

Demon dokera wiąże się z gniazdem Unix zamiast z portem TCP. Domyślnie gniazdo Unix jest własnością użytkownika root, a inni użytkownicy mogą uzyskać do niego dostęp za pomocą sudo. Z tego powodu demon dokera zawsze działa jako użytkownik root. Aby uniknąć konieczności używania sudo podczas korzystania z polecenia dokera, utwórz grupę uniksową o nazwie doker i dodaj do niej użytkowników. Po uruchomieniu demona dokera powoduje, że własność gniazda Unix jest odczytywana / zapisywana przez grupę dokerów.

źródło: https://docs.docker.com/installation/ubuntulinux/#create-a-docker-group


2
Powinieneś wyjaśnić, dlaczego to pomoże.
guntbert,

1
@guntbert Mam zaktualizowaną odpowiedź.
MURATSPLAT,

@MURATSPLAT, qbi, gunbert Dzięki, znajduję rozwiązanie
rishi kant

Aby zastosować efekt zmiany uprawnień grupy. Nie musisz restartować się. wystarczy wylogowanie.
Tim Wu

@TimWu Na Ubuntu 18.04 z Gnome musiałem zrestartować system - po prostu wylogowanie i ponowne zalogowanie nie działało: /
Zoltán

10

spróbuj użyć, sudo docker imagesaby sprawdzić, czy <image>w twoim hoście znajdują się pojemniki .

uruchomiony docker run <image>rozpocznie pojemnik zwany <image>w komputerze hosta, jeśli komputer hosta nie mają tego pojemnika, a następnie doker zostanie automatycznie wyciągnąć pojemnik o nazwie „” z repozytorium hub podobnie jak sposób, w jaki działa docker pull <image>. Następnie, jeśli nadal nie może znaleźć obrazu o nazwie „”, wyświetli ten komunikat o błędzie.

możesz spróbować zamienić, aby hello-worldsprawdzić, czy doker działa na twoim komputerze.

sudo docker run hello-world

Powinieneś również sprawdzić, czy powinieneś użyć sudo.


2
Gdyby problem polegał na tym, że OP nie używa sudo, wówczas komunikat o błędzie brzmiałby „odmowa dostępu” zamiast „brak takiego pliku lub katalogu”.
Andreas Veithen

1
Tak, masz rację. Próbowałem, jeśli użytkownik nie ma pozwolenia, komunikat o błędzie FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
brzmiałby

2
spróbuj udzielić uprawnieńsudo usermod -a -G docker ec2-user
AB

4

Ten artykuł był pomocny: https://docs.docker.com/articles/systemd/ ; Uruchomiłem go w wielu środowiskach i działałem, mam nadzieję, że to również pomoże


Odpowiedzi tylko z łączem nie są akceptowane. Proszę podać swoją odpowiedź, aby była kompletna.
Flimzy

2
Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Mitch

1
Ten link systemowy wydaje się być martwy. Oto kolejny link docs.docker.com/engine/admin/systemd
wsams

2

Otrzymałem podobną wiadomość podczas próby wyciągnięcia obrazu. Właśnie to zrobiłem sudo sui udało mi się z powodzeniem wyciągnąć obraz.


2
Witamy w Ask Ubuntu! Zalecam edycję tej odpowiedzi, aby rozszerzyć ją o szczegółowe informacje na temat tego, jak to zrobić. (Zobacz także Jak napisać dobrą odpowiedź?, Aby uzyskać ogólne porady na temat tego, jakie rodzaje odpowiedzi są uważane za najcenniejsze w Ask Ubuntu). Należy jednak pamiętać, że sugerowano, że uruchomienie Dockera jako superużytkownika już kilka razy.
David Foerster,

mam rozwiązanie mojego problemu.
rishi kant
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.