2017-04-13 2 views
7

Problem: Ich versuche Docker innen Vagabund zu laufen, enthält meine Vagrantfile folgende: -Keine Verbindung zum Docker-Daemon unter unix: ///var/run/docker.sock möglich. Wird der Docker-Daemon ausgeführt?

config.vm.provision "docker" do |d| 
    d.run "ubuntu", 
     cmd: "bash -l", 
     args: "-v '/vagrant:/var/www'" 
    end 

Docker installiert wird, aber wenn ich einen Befehl ausführen, gibt es den Fehler unten: -

auf die kann keine Verbindung Docker-Daemon unter Unix: ///var/run/docker.sock. Wird der Docker-Daemon ausgeführt?

Ich habe versucht 1. https://docs.oracle.com/cd/E52668_01/E75728/html/section_rdz_hmw_2q.html 2. als root in vagrant eingeloggt und gestartet Docker immer noch das gleiche Problem. 3. versuchte chmod auf /var/run/docker.sock Datei

nichts scheint zu funktionieren.

Ausgang ps ef ist: -

/usr/bin/dockerd

Andockfensters-containerd -l UNIX: ///var/run/docker/libcontainerd/docker-containerd.sock - -Metriken-Intervall = 0 --start-timeout 2m --state-dir /var/run/Andockfensters/libcontainerd/containerd --shim Andockfensters-containerd-Shim --runtime Andockfensters-Runc

+1

stellen Sie sicher, dass Docker-Service ausgeführt wird oder sonst wie: sudo Service Docker starten. dann versuchen, sudo zu dem Ausführen Befehl hinzufügen Sie – shahin

Antwort

10

I wird Einleitung Dieses an all die Genies, die in jedem Forum, in dem dieses Problem aufgetreten ist, mit "stellen Sie sicher, dass Ihr Docker-Dienst ausgeführt wird" oder "starten Sie Ihren Docker-Dienst", etc. ein. Dies sind faule Anweisungen, die h sind klar ersichtlich, wenn Sie sich das Problem anschauen, das die Person hat. Der Andockdienst kann nicht ausgeführt werden! Es versucht, und dann ist es im Grunde wie "Fah-q, kein Dämon hier ..." und hört schließlich auf.

Also sowieso, hier ist, was mir passiert ist und was eine mögliche Lösung für jemand anderen sein könnte.

Nicht sicher, was mit meinem Setup passiert ist, aber ich bin auf Ubuntu 16.04 läuft, hatte ich eine Reihe von Problemen nicht nur auf Docker begrenzt.

Ich schließlich gereinigt und neu installiert alles von der docker-ce installieren. Ich meine alles. Noch arbeiten konnte ich einen Artikel (Ich kann mich nicht erinnern, wo es so viele waren) nicht ...

Durch meine Internet wizardry finden zu erwähnen, dass die Datei sich unter:

$ sudo nano /etc/systemd/system/docker.service

Hatte ein -d an der Stelle des Daemon bei Execstart. Das war bei mir nicht der Fall. Ich hatte ... Daemon -D ..., aber ich habe bemerkt, dass es auf /usr/bin/local/docker zeigte. Das gab es nicht, aber was existiert, ist /usr/bin/docker. An diesem Ort finden Sie auch docker-containerd, dockerd, etc ...

Wie auch immer, ich habe die Änderung der docker.service-Datei - einfach /local aus dort heraus. Gerettet. Dann :

$ systemctl daemon-reload $ sudo service docker restart $ sudo service docker status (should see active (running)) $ sudo docker run hello-world

Erfolg!

+0

Ihr erster Absatz hier ist nicht wirklich sehr 'StackOverflow'-y. Obwohl ich zustimmen würde, dass diese Art von Antworten in anderen Foren nervig sind, wenn auch oft die richtige Lösung - zu viele Leute stellen nur online Fragen, ohne zu versuchen, die Fehlermeldung zu interpretieren, die sie sehen - das passiert bei StackOverflow nicht so oft Und wenn die Leute diese Antworten geben, dann ist das die Schaltfläche für den Downvote. – DaveyDaveDave

3

Auf dem SSH-Server:

Schritt 1: systemctl starten Docker

Schritt 2: systemctl Status Docker

Docker auf dem Server starten und Port auf der jeweiligen haben.

1

Ich traf den gleichen Fehler auf Mac, und ich folgte dem Schritt auf dieser Dokumentation zu installieren und Docker ausführen. Es löst mein Problem https://docs.docker.com/docker-for-mac/install/#what-to-know-before-you-install

+0

Toll, das zu lernen und mich Problem zu lösen! Froh, dass sie Dokumentation gemacht haben. – Chengzhi

+1

Ein Link zu einer Lösung ist willkommen, aber stellen Sie bitte sicher, dass Ihre Antwort ohne sie nützlich ist: [Fügen Sie einen Kontext um den Link hinzu] (// meta.stackexchange.com/a/8259), damit Ihre Mitbenutzer eine Idee haben, was es ist und warum es dort ist, zitieren Sie dann den relevantesten Teil der Seite, auf den Sie verlinken, falls die Zielseite nicht verfügbar ist. – LW001

Verwandte Themen