Nachdem ich meine Docker-Version auf aktualisiert habe 0.8.0
, wird bei der Eingabe eine Fehlermeldung angezeigt 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?
Und ich habe die Anweisungen befolgt und den Befehl eingegeben sudo docker -d
, und ich habe Folgendes erhalten:
[/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
Wie löse ich das Problem?
no such file or directory[/var/lib/docker|2462000b]
. Existiert/var/lib/docker
auf Ihrem System? Wenn nicht, müssen Sie Docker neu installieren.Antworten:
Linux
Die Schritte nach der Installation für die Linux- Dokumentation enthalten die folgenden Schritte:
Mac OS X
Wie Dayel Ostraco sagt, ist es notwendig, Umgebungsvariablen hinzuzufügen:
Der
docker-machine start
Befehl gibt die Kommentare aus, um den Prozess zu steuern.quelle
newgrp
Befehl eine neue Shell in dieser neuen Gruppe starten. So :newgrp docker
.alias docker='sudo docker'
hat der Trick. : pLinux
Führen Sie Folgendes aus, um den Docker-Daemon unter Linux (über die CLI ) auszuführen:
Hinweis: Überspringen Sie das
$
Zeichen beim Kopieren und Einfügen.Führen Sie unter RedHat / CentOS Folgendes aus :
sudo systemctl start docker
.Führen Sie Folgendes aus, um das "Basis" -Dateisystem zu initialisieren:
oder manuell wie:
Unter
docker-machine
Linux installierenSo installieren Sie Computer-Binärdateien unter Linux:
örtlich:
global:
Mac OS
Unter macOS ist die
docker
Binärdatei nur ein Client, und Sie können sie nicht zum Ausführen des Docker-Daemons verwenden, da der Docker-Daemon Linux-spezifische Kernelfunktionen verwendet. Daher können Sie Docker unter OS X nicht nativ ausführen. Sie müssen also installieren,docker-machine
um sie zu erstellen VM und anhängen.Unter
docker-machine
macOS installierenWenn Sie noch keinen
docker-machine
Befehl haben, installieren Sie ihn mit einer der folgenden Methoden:brew install docker-machine docker
.manuell von GitHub :
Siehe: Erste Schritte mit Docker für Mac .
Konfigurieren Sie
docker-machine
unter macOSFühren Sie Folgendes aus, um Docker Machine über Homebrew zu starten:
So erstellen Sie eine
default
Maschine (falls Sie keine haben, lesen Sie :)docker-machine ls
:Richten Sie dann die Umgebung für den Docker-Client ein:
Überprüfen Sie dies anschließend, indem Sie die Container auflisten:
Siehe: Erste Schritte mit Docker Machine und einer lokalen VM .
Installieren Sie Docker.app unter macOS
Alternativ zur obigen Lösung können Sie eine Docker-App installieren, indem Sie:
Überprüfen Sie diesen Beitrag für weitere Details . Siehe auch: Unter macOS kann keine Verbindung zum Docker-Daemon hergestellt werden
quelle
docker-toolbox
von docs.docker.com/toolbox/toolbox_install_macsudo rm -rf /var/lib/docker
und dann machte ein Neustart den Trick. Ich steckte wirklich fest und keine andere Lösung funktionierte für mich.Wenn Sie Docker unter OS X ausführen, hat die folgende Auswertung für mich funktioniert.
Wenn Sie diese eval-Anweisung nicht bei jeder Terminalsitzung ausführen möchten, können Sie Folgendes hinzufügen
bash_profile
:Stellen Sie sicher, dass Sie die Terminalsitzung neu starten oder Source ausführen,
bash_profile
damit die Änderungen wirksam werden.quelle
Error checking TLS connection: Host is not running
... diese Auswertung durchzuführen, nachdem der Befehldocker-machine start default
den Trick ausgeführt hat.Nach einer eingehenden Untersuchung scheint dieses Problem jedes Mal nach dem Neustart von Mac OS X (oder dem Neustart der virtuellen Docker-Maschine) aufzutreten, wodurch verhindert wird, dass der Docker-Client eine Verbindung zum Docker-Dämon herstellt.
Um das Problem zu lösen, können Sie entweder:
A) Installieren Sie Docker Toolbox mit dem offiziellen Installationsprogramm ( https://www.docker.com/products/docker-toolbox ) oder einfach neu
B) Führen Sie die folgenden Befehle der Reihe nach aus:
C) Wie in (B) können Sie auch die folgende Zeile kopieren und einfügen, um alle drei Befehle auszuführen:
Falls Sie den folgenden Fehler erhalten:
Führen Sie die drei Befehle einfach ein weiteres Mal aus, und es sollte beim zweiten Mal funktionieren.
quelle
Dies geschieht normalerweise, wenn Sie nicht in der
docker
Gruppe sind. Sie können sich derdocker
Gruppe hinzufügen mit:oder
Danach müssen Sie sich abmelden und wieder beim Server anmelden.
Alternativ können Sie
sudo
jeden Docker-Befehl ausführen.quelle
Wenn alle anderen oben genannten Lösungen nicht funktionieren, können Sie versuchen, den Besitz von
/var/run/docker.sock
:Wenn Sie nicht der Eigentümer sind, ändern Sie den Eigentümer mit dem folgenden Befehl:
Dann können Sie versuchen, die Docker-Befehle problemlos auszuführen: D.
quelle
Der beste Weg, um herauszufinden, warum Docker nicht funktioniert, besteht darin, den Dämon manuell auszuführen.
Der Docker-Dämon meldet sich bei STDOUT an, sodass er anfängt, alles auszuspucken, was er tut.
Hier war mein Problem:
Dies lag daran, dass die Instanz von einer anderen virtuellen Maschine geklont wurde. Ich musste nur die PID-Datei entfernen und danach funktionierte alles.
Anstatt blindlings davon auszugehen, dass dies funktioniert, würde ich natürlich empfehlen, den Dämon noch einmal manuell auszuführen und die Protokollausgabe auf andere Fehler zu überprüfen, bevor Sie den Dienst sichern.
quelle
apparmor
Paket.dockerd -D
Wenn Sie die Nachricht erhalten
Can't connect to docker daemon. Is 'docker -d' running on this host?
, können Sie sie überprüfendocker version
.Wenn Sie die Informationen sehen, wird Docker Client ausgeführt. Docker Server ist dies jedoch nicht . Offensichtlich müssen Sie den Docker-Server starten.
In CentOS können Sie
service
den Docker-Server starten oder stoppen.Nach
docker version
der Eingabe erhalten Sie die Informationen zu Docker Client und Docker Server , und der Docker-Dämon wurde gestartet.quelle
sudo service docker start
arbeitete auch für mich unter Ubuntu 14.04.ps aux | grep docker
Führen Sie eine Überprüfung durch, um festzustellen, ob der Dämon ausgeführt wird. Wenn nicht laufen/etc/init.d/docker start
quelle
sudo service docker start
sagt mir "Docker starten / laufen, Prozess 4633" dannsudo service docker status
sagt "Docker stoppen / warten"Ich starte Docker nach der Installation neu:
Und es funktioniert.
quelle
Ich habe ein ähnliches Problem. Ich musste mich abmelden und erneut bei der Shell anmelden, da ich gerade Docker installiert habe und der folgende Befehl in meiner Umgebung nicht angezeigt wurde.
quelle
Ich bin mit diesem Problem konfrontiert und habe Docker mit den folgenden Befehlen neu gestartet:
Aber ich habe mein Problem nicht gelöst, weil ich vergessen habe, meine Docker-Befehle ohne auszuführen
sudo
. Versuchen Sie, dies für diejenigen zu überprüfen, die mit diesem Problem konfrontiert sind.Versuchen
an Stelle von:
quelle
docker build
unter Ubuntu Xenial zu laufen .Sie können den Befehl verwenden
um es einfach zu starten.
quelle
sudo service docker restart
es ist einfacher 😊Ich habe den gleichen Fehler und habe versucht
docker-machine regenerate-certs
odereval..
habe bei mir nicht funktioniert.Dies unter OS X 10.11.3 (El Capitan) und Docker v1.10.1. Ich konnte es nur beheben, indem ich die Docker-Maschine wieder löschte und neu erstellte. Quelle
Wenn es ausgeführt wird
docker-machine ls
, wird eine ähnliche Ausgabe wie unten angezeigt.Versuchen Sie, Ihren Docker-Computer mit zu entfernen.
Wo
default
ist der Name Ihres Docker-Computers? Dann;Erstellt einen neuen Docker-Computer.
Stellen Sie sicher, dass jetzt alles normal aussieht (keine Fehler oder unbekannter Docker) mit:
Vergessen
"$(docker-machine env default)"
Sie nicht zu laufen, bevor Sie fortfahren, oder führen Sie das Docker-Schnellstart-Terminal aus, das dies für Sie erledigt ...quelle
Ich hatte das gleiche Problem - "Kann keine Verbindung zum Docker-Daemon herstellen." (außer dass beim Versuch, den Server zu starten, keine Fehler "Datei nicht gefunden" angezeigt wurden.)
'ps' zeigte, dass "/ usr / bin / docker -d" noch lief
Mir wurde klar, dass es mir nie gelungen war, den Server selbst zu betreiben. Jeder Versuch hatte hervorgebracht
Daher wurde mir verspätet klar, dass die Installation von Docker den Daemon möglicherweise bei upstart registriert hatte, was ihn für mich gestartet hatte. Daher schlägt der Versuch, den Dämon zu beenden, um ihn manuell neu zu starten, fehl (Vorgang nicht zulässig). Also habe ich eine gemacht
auf dem Daemon-Prozess. Ein weiterer Daemon nahm sofort seinen Platz ein, und dieser neue lässt meinen CLI-Client jetzt eine Verbindung herstellen:
quelle
Versuchen Sie, den aktuellen Benutzer zur
docker
Gruppe hinzuzufügen :Dann abmelden und einloggen.
quelle
Verwenden Sie die Docker CE App
Mac OS
Verwenden Sie die neue Docker Community Edition-App für macOS. Zum Beispiel:
Deinstallieren Sie alle Docker Homebrew-Pakete, die Sie bisher installiert haben:
Installieren Sie eine App manuell oder über Homebrew-Cask :
Hinweis: Diese App notwendige Verknüpfungen erstellen werden
docker
,docker-compose
,docker-machine
etc.Überprüfen Sie nach dem Ausführen der App das Docker-Wal-Symbol im Statusmenü.
docker
,docker-compose
,docker-machine
Befehle wie gewohnt in der Klemme .Verbunden:
Linux / Windows
Laden Sie den Docker CE von der Download-Seite herunter und befolgen Sie die Anweisungen.
quelle
Ich wusste, dass es in diesem Beitrag bereits viele Antworten gibt. Ich möchte nur eine einfache Antwort hinzufügen, die das oben erwähnte Problem löst.
Führen Sie den obigen Befehl aus, und alle Docker-bezogenen Threads / Dienste werden gestartet.
quelle
Ich hatte gerade das gleiche Problem mit Amazon AWS .
Folgendes habe ich versucht:
docker-machine
vor Ort mit bereits vorhandenen AWS - Instanzdockerd
funktionierte ...Es wurde auf dem Remote-Computer wie folgt getestet:
Ich habe
/var/lib/docker
alles entfernt und deinstalliert, aber nach der Neuinstallation gab es keinen Erfolg. Leider habe ich keine Protokolle von Fehlern gespeichert, sondern michdocker.service
nur geweigert zu starten.Was mein Problem jedoch endgültig löste, war im Grunde:
quelle
Folgende Docker-DOC-Site: Verwalten Sie Docker als Nicht-Root-Benutzer
1) Erstellen Sie eine Docker-Gruppe
2) Machen Sie den Benutzer zur Docker-Gruppe, um die Berechtigungen der Gruppe zu erhalten.
Überprüfen Sie, ob die Umgebungsvariable DOCKER_HOST für Ihre Shell festgelegt ist.
Wenn es existiert,
Dann sollte das funktionieren:
quelle
unset DOCKER_HOST
der für mich gearbeitet hatWenn Sie unter OS X mit dem Docker-Tool ausgeführt werden, befolgen Sie diese Anweisungen.
Starten Sie den Daemon neu und konfigurieren Sie Ihre Umgebung:
Und dann
Schließlich,
So testen Sie den Daemon:
docker ps -a
oderdocker-machine ls
. Dadurch werden alle Container aufgelistet.quelle
Ich habe das gleiche Problem. In CentOS 6.5:
Wenn angezeigt wird, dass kein Docker-Daemon-Prozess vorhanden ist, gebe ich Folgendes ein:
Dann Ctrl+ D, um Docker zu stoppen. Da wir diese
-d
Option verwenden, wird Docker als Daemon ausgeführt. Jetzt können wir tun:Dann kann ich eine machen
docker pull centos
. Das ist alles.HINWEIS: Wenn diese nicht funktionieren, können Sie es versuchen
yum update
und dann erneut wiederholen, da ichyum install
vor diesen.quelle
Der Docker-Dienst wird möglicherweise nicht ausgeführt.
Wenn Sie mit RedHat / Fedora / CentOS arbeiten, versuchen Sie Folgendes:
sudo systemctl start docker
Wenn Sie auf Ubuntu / Debian sind:
sudo service start docker
Docker wird auf Ihrem Host und dem entsprechenden Port ausgeführt.
quelle
Überprüfen Sie, ob Sie Docker Machine verwenden :)
Run
docker-machine env default
sollte den Trick machen.Denn laut Dokumentation:
https://docs.docker.com/machine/overview/
quelle
quelle
Um dies zu beheben, müssen Sie die folgenden Befehle im Terminal eingeben. Ich werde jeden Schritt erklären:
Wenn Sie die Dinge vereinfachen und mehr Zeit haben möchten, können Sie mein
init
Skript mit dem folgenden Parameter ausführeninstallDocker
:Ein Neustart ist optional, aber ich schlage vor, dass Sie dies tun, um sicherzustellen, dass alles reibungslos funktioniert.
quelle
Ich hatte das gleiche Problem mit Docker 1.10 unter Ubuntu 14.04 und keine der angegebenen Antworten funktionierte. Für mich bestand die Lösung darin, den Speichertreiber beim Ausführen des Docker-Dämons anzugeben.
quelle
Wenn Sie gitlab-ci / gitlab-running verwenden, wird dieser Fehler angezeigt, wenn Sie keine Zugriffsberechtigung haben
/var/run/docker.sock
.Um das Problem zu lösen:
Überprüfen Sie mit:
Ich hoffe, das hilft.
quelle
Wenn die Neuerstellung von TLS-Zertifikaten nicht funktioniert
Starten Sie den Docker-Computer neu und legen Sie die env-Variable fest:
Überprüfen Sie, ob die Maschine läuft mit:
oder alternativ
Das hat bei mir funktioniert. Wenn Sie den Dämon jedoch immer noch nicht eingerichtet haben, wird auf der Docker-Seite zur Fehlerbehebung ein Vorgang zum Stoppen, Entfernen und Erstellen eines neuen Computers beschrieben.
quelle
Ich habe auch das Problem "Es kann keine Verbindung zum Docker-Dämon hergestellt werden. Läuft der Docker-Dämon auf diesem Host?".
Ich hatte vergessen zu benutzen
sudo
. Hoffe, es wird einigen von uns helfen.quelle