wake-up-neo.net

Starten Sie Docker als Daemon unter Ubuntu

Ich habe Docker seit einigen Wochen erfolgreich verwendet, aber heute habe ich eine Reihe von Anweisungen befolgt, in denen vorgeschlagen wurde, die folgenden beiden Zeilen in die Docker-Konfigurationsdatei unter /etc/init/docker.conf einzufügen:

limit memlock unlimited unlimited
limit nofile 262144

Anschließend wurde ein Neustart von Docker mit Sudo /etc/init.d/docker restart vorgeschlagen. Als ich dies unter Ubuntu 14.04 tat, berichtete es:

  • Docker wird über Upstart verwaltet. Versuchen Sie, den Service Docker-Neustart auszuführen

Ich habe Sudo service docker restart ausprobiert, worauf es berichtet:

stop: Unbekannter Auftrag: Docker

start: Unbekannter Auftrag: Docker

Jetzt stecke ich fest, dass der Docker-Daemon nicht läuft! Ich habe versucht, neu zu starten, aber es läuft immer noch nicht und wenn etwas ausgeführt wird, so einfach wie Sudo docker version, bekomme ich:

Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/AMD64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory

Zur Fehlerbehebung habe ich versucht, den Docker-Daemon über die Befehlszeile zu starten:

Sudo docker -d

In einem anderen Terminalfenster kann ich Docker jetzt normal ausführen. Das ist großartig, aber wie bekomme ich es normalerweise wieder zum Starten? Ich stelle auch fest, dass ich zwei Docker-Konfigurationsdateien habe:

/etc/init/docker.conf
/etc/init/docker.io.conf

Sie sehen aus wie DUPs. Sind sie überflüssig? Welches sollte ich mir anschauen? Brauche ich beides?

Mir ist auch aufgefallen, dass diese Duplizität auftaucht, wenn ich Sudo service --status-all |grep docker starte. Ich erhalte sowohl docker als auch docker.io als aufgelistete Dienste. Gewachsen.

39
ken

Es gibt mehrere beliebte Repositorys, die Docker-Pakete für Ubuntu anbieten. Das Paket docker.io stammt (am wahrscheinlichsten) aus dem Ubuntu-Repository. Eine weitere beliebte ist http://get.docker.io/ubuntu, die ein Paket lxc-docker bietet (ich verwende Letzteres, weil es schneller Updates liefert). Stellen Sie sicher, dass nur ein Paket installiert ist. Nicht ganz sicher, ob das Entfernen der Pakete ordnungsgemäß entfernt wird. Wenn Sudo service docker restart immer noch nicht funktioniert, müssen Sie möglicherweise manuell in/etc/bereinigen.

31
Andreas Steffan

Die gleiche Ausgabe hatte ich am 14.04 mit Docker 1.9.1.

Der Befehl zum Hochfahren des Dienstes funktionierte, als ich Sudo verwendete, obwohl ich root war:

$ whoami
root
$ service docker status
status: Unbekannter Auftrag: docker

$ Sudo service docker status
docker start/running, process 7394

Es scheint von den Umgebungsvariablen abzuhängen.

service docker status funktioniert, wenn Sie mit su - root werden, aber nicht, wenn Sie nur su verwenden:

$ su
Password:
$ service docker status
status: unknown job: docker
$ exit
$ su -
Password:
$ service docker status
docker start/running, process 2342
14
cweiske

Dieses Problem hat mich wirklich einige Stunden gekostet.

Mein System ist Ubuntu 14.04, ich habe Docker von Sudo apt-get install docker installiert und einige andere Befehle eingegeben, die das Problem verursacht haben.

  1. Ich google "unbekannten Job: docker.io", Antworten wurden nicht wirksam.

  2. Ich habe in /etc/init.d/ nach Gründen für "unbekannte Arbeit" gesucht und keine passende Antwort gefunden.

  3. Ich suchte nach einem Weg, um ein Skript in /etc/init.d/ zu debuggen und fand keine passende Antwort.

  4. Dann machte ich ein sauberes:

    1. Sudo apt-get remove docker.io
    2. rm jede verdächtige Datei nach find / -name "*docker*", z. B. /etc/init/docker.io.conf, /etc/init.d/docker.io.
  5. Befolgen Sie das neueste offizielle Dokument: https://docs.docker.com/installation/ . Es gibt eine Menge veralteter Dokumentation, die irreführend sein kann.

Schließlich wurde das Problem behoben.

Hinweis: Wenn Sie sich in China befinden, müssen Sie aufgrund des GFW möglicherweise https_proxy so einstellen, dass das Docker von https://get.docker.com/ installiert wird.

8
secfree

Ich weiß, dass diese Fragen beantwortet wurden, aber der Grund, warum Ihnen dies passiert, war wahrscheinlich, dass Sie Ihren Benutzernamen nicht zur Docker-Gruppe hinzugefügt haben.

Hier sind die Schritte, um es zu tun:

Fügen Sie die Docker-Gruppe hinzu, falls diese noch nicht vorhanden ist:

Sudo groupadd docker

Fügen Sie den verbundenen Benutzer ${USER} zur Andockgruppe hinzu. Ändern Sie den Benutzernamen so, dass er Ihrem bevorzugten Benutzer entspricht:

Sudo gpasswd -a ${USER} docker

Starten Sie den Docker-Daemon neu:

Sudo service docker restart

Wenn Sie unter Ubuntu 14.04-15.10 * sind, verwenden Sie stattdessen docker.io:

Sudo service docker.io restart

(Wenn Sie sich auf Ubuntu 16.04 befinden, heißt der Dienst einfach "Docker").

Führen Sie entweder ein Andockfenster newgrp aus oder loggen Sie sich aus/ein, um die Änderungen an Gruppen zu aktivieren.

3
tsukanomon

Ich hatte eine gleiche Ausgabe auf Ubuntu 14.04 Hier ist eine Lösung

Sudo service docker start

oder Sie können Bilder auflisten 

docker images
2
Chetan kapoor

Wenn der Fehler auftritt, läuft der Dämon nicht und wird mit mehr Ausgaben gestartet, z.

Sudo docker daemon -D

und die Ausgabe ist ein timeout, dies kann unter Ubuntu mit der folgenden Ausführung behoben werden:

$ ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | Sudo sh

(Quelle: https://github.com/moby/moby/issues/22507#issuecomment-219601289 )

0
schlenger

Ich hatte das gleiche Problem, und es wurde durch die Zeile für die unsichere Registrierung in: /Etc/default/docker verursacht

0
zhrist