Po zaktualizowaniu wersji Dockera do 0.8.0
otrzymuję komunikat o błędzie podczas wprowadzania sudo docker version
:
Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?
Postępowałem zgodnie z instrukcjami i wprowadziłem polecenie sudo docker -d
i otrzymałem to:
[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory
Jak rozwiązać problem?
no such file or directory[/var/lib/docker|2462000b]
. Czy/var/lib/docker
istnieje w twoim systemie? Jeśli nie, to myślę, że musisz ponownie zainstalować Docker.Odpowiedzi:
Linux
Te kroki po instalacji Linuksa dokumentacji ujawnia następujące kroki:
Mac OS X
Jak mówi Dayel Ostraco , konieczne jest dodanie zmiennych środowiskowych:
docker-machine start
Komenda wysyła komentarze do prowadzenia procesu.źródło
newgrp
polecenia, aby uruchomić nową powłokę w tej nowej grupie. Tak:newgrp docker
.alias docker='sudo docker'
jak i sztuczka. : pLinux
Aby uruchomić demona dokera w systemie Linux (z interfejsu CLI ), uruchom:
Uwaga: pomiń
$
znak podczas kopiowania i wklejania.Na RedHat / CentOS, uruchom:
sudo systemctl start docker
.Aby zainicjować „podstawowy” system plików, uruchom:
lub ręcznie jak:
Zainstaluj
docker-machine
w systemie LinuxAby zainstalować pliki binarne komputera w systemie Linux:
lokalnie:
światowy:
System operacyjny Mac
W systemie macOS
docker
plik binarny jest tylko klientem i nie można go używać do uruchamiania demona dokera, ponieważ demon Docker korzysta z funkcji jądra specyficznych dla systemu Linux, dlatego nie można uruchomić Dockera natywnie w systemie OS X. Musisz więc zainstalowaćdocker-machine
, aby utworzyć VM i dołącz do niego.Zainstaluj
docker-machine
w systemie macOSJeśli nie masz
docker-machine
jeszcze polecenia, zainstaluj go przy użyciu jednej z następujących metod:brew install docker-machine docker
.ręcznie z GitHub :
Zobacz: Rozpocznij pracę z Docker na Maca .
Skonfiguruj
docker-machine
w systemie macOSZacząć Docker Machine przez Homebrew, uruchom:
Stworzyć
default
maszynę (jeśli jej nie masz, zobaczdocker-machine ls
:):Następnie skonfiguruj środowisko dla klienta Docker:
Następnie sprawdź dwukrotnie, wymieniając pojemniki:
Zobacz: Rozpocznij pracę z Docker Machine i lokalną maszyną wirtualną .
zainstalować Docker.app na macOS
Alternatywnie do powyższego rozwiązania możesz zainstalować aplikację Docker poprzez:
Sprawdź ten post, aby uzyskać więcej informacji . Zobacz także: Nie można połączyć się z demonem Docker w systemie macOS
źródło
docker-toolbox
z docs.docker.com/toolbox/toolbox_install_macsudo rm -rf /var/lib/docker
a następnie ponowne załatwienie załatwiło sprawę . Naprawdę utknąłem i żadne inne rozwiązanie nie działało dla mnie.Jeśli korzystasz z Dockera w systemie OS X, uruchomienie następującej wersji działało dla mnie.
Jeśli nie chcesz uruchamiać tej instrukcji eval przy każdej sesji terminalu, możesz dodać ją do
bash_profile
:Należy zrestartować sesję terminalową lub uruchomić źródło,
bash_profile
aby zmiany odniosły skutek.źródło
Error checking TLS connection: Host is not running
... uruchomienie tego eval po tym, jak poleceniedocker-machine start default
wykonało polecenie .Po szczegółowym badaniu wydaje się, że ten problem występuje za każdym razem po ponownym uruchomieniu systemu Mac OS X. ponownym uruchomieniu (lub maszyny wirtualnej Docker), co uniemożliwia klientowi Docker połączenie się z demonem Docker.
Aby rozwiązać problem, możesz:
A) Zainstaluj ponownie Docker Toolbox za pomocą oficjalnego instalatora ( https://www.docker.com/products/docker-toolbox ) lub po prostu
B) Uruchom następujące polecenia w kolejności:
C) Tak samo jak (B), możesz również skopiować i wkleić następujący wiersz, aby uruchomić wszystkie trzy polecenia:
W przypadku pojawienia się następującego błędu:
po prostu ponownie uruchom trzy polecenia innym razem i powinno działać za drugim razem.
źródło
Zwykle dzieje się tak, gdy nie ma Cię w
docker
grupie. Możesz dodać się dodocker
grupy za pomocą:lub
Następnie musisz się wylogować i zalogować ponownie na serwerze.
Alternatywnie możesz wykonać
sudo
każdą komendę Docker.źródło
Jeśli wszystkie inne powyższe rozwiązania nie działają, możesz spróbować sprawdzić własność
/var/run/docker.sock
:Jeśli nie jesteś właścicielem, zmień własność za pomocą polecenia:
Następnie możesz bezproblemowo wykonać polecenia Docker: D
źródło
Najlepszym sposobem, aby dowiedzieć się, dlaczego Docker nie działa, jest ręczne uruchomienie demona.
Demon Docker loguje się do STDOUT, więc zacznie wypluwać wszystko, co robi.
Oto mój problem:
Stało się tak, ponieważ instancja została sklonowana z innej maszyny wirtualnej. Musiałem tylko usunąć plik pid i wszystko działało później.
Oczywiście, zamiast ślepo zakładać, że to zadziała, sugeruję jeszcze raz uruchomić ręcznie demona i przejrzeć dane wyjściowe dziennika pod kątem innych błędów przed ponownym uruchomieniem usługi.
źródło
apparmor
pakietem.dockerd -D
Jeśli otrzymasz wiadomość
Can't connect to docker daemon. Is 'docker -d' running on this host?
, możesz to sprawdzić przezdocker version
.Jeśli zobaczysz informację, że uruchomiony jest klient Docker. ale Docker Server nie jest , oczywiście musisz uruchomić serwer Docker.
W CentOS możesz użyć
service
do uruchomienia lub zatrzymania serwera Docker.Następnie po wpisaniu
docker version
otrzymasz informacje o Docker Client i Docker Server , a demon Docker został uruchomiony.źródło
sudo service docker start
pracował również dla mnie na Ubuntu 14.04.Wykonaj a,
ps aux | grep docker
aby sprawdzić, czy demon działa. Jeśli nie uruchom/etc/init.d/docker start
źródło
sudo service docker start
mówi mi „docker start / running, process 4633”, a następniesudo service docker status
mówi „docker stop / waiting”Ponownie uruchamiam Dockera po jego instalacji:
I to działa.
źródło
Mam podobny problem. Musiałem się wylogować i zalogować ponownie do powłoki, ponieważ właśnie zainstalowałem Docker i następujące polecenie nie pojawiło się w moim środowisku.
źródło
Napotkałem ten problem i ponownie uruchomiłem Docker za pomocą następujących poleceń:
Ale nie rozwiązałem mojego problemu, ponieważ zapomniałem wykonać polecenia Dockera bez
sudo
. Dla tych, którzy napotykają ten problem, spróbuj to sprawdzić.Próbować
zamiast tego:
źródło
docker build
na Ubuntu Xenial.Możesz użyć polecenia
po prostu zacząć.
źródło
sudo service docker restart
łatwiej 😊Mam ten sam błąd i próbuję
docker-machine regenerate-certs
lubeval..
nie działało dla mnie.Dotyczy to OS X 10.11.3 (El Capitan) i Docker v1.10.1. Udało mi się to naprawić tylko poprzez ponowne usunięcie i ponowne utworzenie maszyny dokującej. Źródło
Jeśli jest uruchomiony
docker-machine ls
, pokazuje wyniki podobne do poniższych;Spróbuj usunąć urządzenie Docker za pomocą;
Gdzie
default
jest nazwa twojego urządzenia Docker. Następnie;Tworzy nową maszynę Docker.
Sprawdź dokładnie, czy wszystko wygląda teraz normalnie (bez błędów lub nieznanego dokera) za pomocą:
Wreszcie nie zapomnij uruchomić,
"$(docker-machine env default)"
zanim przejdziesz dalej lub uruchom terminal Docker Quickstart, który zrobi to za Ciebie ...źródło
Miałem ten sam problem - „Nie można połączyć się z demonem dokera”. (z wyjątkiem tego, że nie wystąpiły błędy „nie znaleziono pliku” podczas próby uruchomienia serwera).
„ps” pokazuje, że „/ usr / bin / docker -d” wciąż działa
Zdałem sobie sprawę, że tak naprawdę nigdy nie udało mi się uruchomić serwera. Każda próba się powiodła
Więc z opóźnieniem zdałem sobie sprawę, że instalacja dokera może zarejestrowała demona przy starcie, co mnie uruchomiło. Dlatego próba zabicia demona w celu ręcznego ponownego uruchomienia go kończy się niepowodzeniem (operacja niedozwolona). Więc zrobiłem
w procesie demona. Kolejny demon natychmiast zajął jego miejsce, a ten nowy NIE pozwala teraz mojemu klientowi CLI połączyć:
źródło
Spróbuj dodać bieżącego użytkownika do
docker
grupy:Następnie wyloguj się i zaloguj.
źródło
Użyj aplikacji Docker CE
System operacyjny Mac
Użyj nowej aplikacji Docker Community Edition dla systemu macOS. Na przykład:
Odinstaluj wszystkie dotychczas zainstalowane pakiety Docker Homebrew:
Zainstaluj aplikację ręcznie lub przez Homebrew-Cask :
Uwaga: Ta aplikacja stworzy niezbędne linki do
docker
,docker-compose
,docker-machine
, itd.Po uruchomieniu aplikacji sprawdź ikonę wieloryba Docker w menu stanu.
docker
,docker-compose
,docker-machine
polecenia, jak zwykle w Terminalu .Związane z:
Linux / Windows
Pobierz Docker CE ze strony pobierania i postępuj zgodnie z instrukcjami.
źródło
Wiedziałem, że w tym poście jest już wiele odpowiedzi. Chciałbym tylko dodać jedną prostą odpowiedź, która rozwiązuje wyżej wspomniany problem.
Uruchom powyższe polecenie, aby uruchomić wszystkie wątki / usługi związane z dokerem.
źródło
Właśnie miałem ten sam problem, działając na Amazon AWS .
Oto, co próbowałem:
docker-machine
lokalnie za pomocą już istniejącej instancji AWSdockerd
działało ...Został przetestowany na zdalnym komputerze:
Usunąłem
/var/lib/docker
i odinstalowałem wszystko, ale po ponownej instalacji nie powiodło się. Niestety nie mam zapisanych dzienników błędów, aledocker.service
po prostu odmówiłem uruchomienia.Jednak ostatecznie rozwiązałem mój problem:
źródło
Następująca witryna DOC Dockera: Zarządzaj Dockerem jako użytkownik inny niż root
1) Utwórz grupę dokerów
2) Ustaw użytkownika w grupie dokerów, aby uzyskać uprawnienia grupy.
Sprawdź, czy zmienna środowiskowa DOCKER_HOST jest ustawiona dla twojej powłoki.
Jeśli istnieje
To powinno działać:
źródło
unset DOCKER_HOST
dla mnieJeśli korzystasz z systemu OS X za pomocą narzędzia Docker, wykonaj następujące czynności.
Uruchom ponownie demona i skonfiguruj środowisko:
I wtedy
Wreszcie,
Aby przetestować działanie demona:
docker ps -a
lubdocker-machine ls
. Spowoduje to wyświetlenie listy wszystkich kontenerów.źródło
Mam ten sam problem. W CentOS 6.5:
Jeśli pokazuje, że nie istnieje proces demona Dockera, wtedy wpisuję:
Następnie Ctrl+, Daby zatrzymać Dockera. Ponieważ korzystamy z tej
-d
opcji, Docker będzie działał jako demon. Teraz możemy zrobić:Potem mogę zrobić
docker pull centos
. To wszystko.UWAGA: Jeśli te nie działają, możesz spróbować
yum update
, a następnie powtórzyć je ponownie, ponieważ jayum install
przed nimi.źródło
Usługa Docker może nie być uruchomiona.
Jeśli korzystasz z RedHat / Fedora / CentOS, spróbuj tego:
sudo systemctl start docker
Jeśli korzystasz z systemu Ubuntu / Debian:
sudo service start docker
Docker zacznie działać na twoim hoście i odpowiednim porcie.
źródło
Sprawdź, czy korzystasz z Docker Machine :)
Uruchom
docker-machine env default
powinien załatwić sprawę.Ponieważ zgodnie z dokumentacją:
https://docs.docker.com/machine/overview/
źródło
źródło
Aby to naprawić, musisz wydać następujące polecenia w terminalu. Wytłumaczę każdy krok:
Teraz, jeśli chcesz uprościć sprawy i uzyskać więcej czasu, możesz uruchomić mój
init
skrypt za pomocą parametruinstallDocker
:Ponowne uruchomienie jest opcjonalne, ale sugeruję, aby to zrobić, aby upewnić się, że wszystko działa płynnie.
źródło
Miałem ten sam problem z uruchomieniem Docker 1.10 na Ubuntu 14.04 i żadna z podanych odpowiedzi nie zadziałała. Dla mnie poprawką było określenie sterownika pamięci podczas uruchamiania demona Docker.
źródło
Jeśli korzystasz z gitlab-ci / gitlab-runners, ten błąd występuje, jeśli nie masz uprawnień dostępu
/var/run/docker.sock
.Rozwiązać problem:
Zweryfikuj za pomocą:
Mam nadzieję, że to pomaga.
źródło
Jeśli regenerowanie certyfikatów TLS nie działa
Spróbuj ponownie uruchomić maszynę dokującą i ustawić zmienną env:
Sprawdź, czy maszyna działa z:
lub alternatywnie
To zadziałało dla mnie. Jeśli jednak nadal nie masz uruchomionego demona, strona rozwiązywania problemów Dockera szczegółowo opisuje proces zatrzymywania, usuwania i tworzenia nowego komputera.
źródło
Pojawił się również problem „Nie można połączyć się z demonem Docker. Czy demon dokera działa na tym hoście?”.
Zapomniałem użyć
sudo
. Mam nadzieję, że pomoże to niektórym z nas.źródło