Docker Hallo-Welt kann nicht ausgeführt werden: Einhängepunkt für Geräte nicht gefunden

12

Neu in Docker.

Docker vom Softwareverwaltungstool in installiert mint 17.

Wenn ich renne, docker run hello-worlderhalte ich:

FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found 

Wenn ich mir die Service-Protokolle ansehe ( /var/log/upstart/docker.log), sehe ich:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 
ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

: Docker-Version

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.2.1
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

: Docker-Info

Containers: 2
Images: 1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 5
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.6 GiB
Name: DWDEV-HOME-HBABAI
ID: K4GX:DTV6:547V:U3BO:YEOA:WVNU:NZEZ:L3GG:4W7U:IXNS:X3QK:5PVR
WARNING: No memory limit support
WARNING: No swap limit support

Aktualisieren:

Installierter sudo apt-get install aufs-tools, neu gestarteter Docker-Dienst. Ich sehe folgenden Fehler nicht mehr :

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

In den Protokollen sehe ich jedoch, dass der Docker mich beim Starten über den Speicherbereitstellungspunkt warnt:

INFO[0000] -job init_networkdriver() = OK (0)           
/var/run/docker.sock is up
WARN[0000] mountpoint for memory not found              
INFO[0000] Loading containers: start.         

Ich habe das Gefühl, es hat mit cgroup zu tun ... aber ich weiß (noch) nichts über diese Technologie ...

hba
quelle
Es sieht so aus, als ob Ihre Frage auf den Boden gefallen und in Stücke gerissen ist. Bitte stellen Sie es für uns zusammen.
Scott
@ Scott - sorry ... hoffe, es ist jetzt besser ... danke für den Hinweis
hba

Antworten:

23

Es stellte sich heraus, dass ich installieren musste cgroup-lite. Es war ein Schuss in die Dunkelheit, aber ich folgte dieser Antwort

hba
quelle
Weißt du, ich hatte das irgendwann selbst herausgefunden und es dann vergessen. Nun habe ich deine Frage gefunden, als ich sie wieder traf und mich erinnerte (und aufstimmte).
0xC0000022L
In Debian heißt das entsprechende Paket cgroupfs-mount
Bass
1

Ich werde hier eine weitere Antwort für Leute hinzufügen, die dies 2020 unter Debian sehen, da meine Lösung für dieses Problem in keinem der Suchtreffer vorhanden war, die beim googeln der Fehlerzeichenfolge "Mountpoint für nicht gefundene Geräte" gefunden wurden.

Hintergrund:

  • Debian 8.11 läuft auf der Google Cloud Platform
  • Habe vor 5 Wochen einen funktionierenden Docker mit zwei laufenden Containern installiert

Plötzlich wurde klar, dass etwas die Container zum Absturz gebracht hatte. Die einzige entfernte wahrscheinliche Ursache, die mir einfiel, war, dass ich einen übergeordneten Ordner gelöscht hatte, auf dessen Host ein Unterordner als Volume zugeordnet war. Ein weiterer Grund könnte die Montage eines zusätzlichen physischen Geräts sein.

Das Endergebnis war in jedem Fall, dass der Versuch, einen Docker-Container zu starten, zu der in der Frage (" mountpoint for devices not found") angezeigten Fehlermeldung führte und kein Neustart (und somit kein Upgrade des Kernels) stattgefunden hatte.

Die Schritte, die ich unternahm, um das Problem zu beheben, waren:

  1. Überprüfen Sie die Protokolle: journalctl -xn | less. Enthielt nicht wirklich zu viele zusätzliche Informationen
  2. Stoppen Sie den Docker-Daemon ( /etc/init.d/docker stop).
  3. Fügen Sie eine Datei hinzu, /etc/docker/daemon.jsonin der sich der einzige Inhalt befand{"debug": true}
  4. Versuchen Sie, den Docker-Daemon nur dann neu zu starten, wenn er fehlschlägt
  5. Untersuchen Sie die Protokolle, die jetzt mit vielen weiteren Informationen gefüllt sind

Diese cgroupverwandten Fehler führten zu der Antwort:

Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964631675Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964654637Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964667575Z" level=warning msg="Unable to find blkio cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964680057Z" level=warning msg="Unable to find cpuset cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964750643Z" level=warning msg="mountpoint for pids not found"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.980250151Z" level=debug msg="Cleaning up old mountid : start."
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: Error starting daemon: Devices cgroup isn't mounted

OK, etwas über cgroupsund Montage. Das führte mich zu einer Problemumgehung für ein anderes Problem mit cgroups , das in diesem Fall angewendet werden konnte, von dem die einzigen Befehle, die einen Effekt zu haben schienen, waren

  1. /etc/init.d/docker stop
  2. cgroupfs-mount
  3. /etc/init.d/docker start

Jetzt, beim nächsten Start von Docker, enthielten die Protokolle noch einige Zeilen mit cgroup-bezogenen Fehlern:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258571633Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258591020Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258937091Z" level=warning msg="mountpoint for pids not found"

Aber die Hälfte von ihnen ( blkio, cpuset) war weg und vor allem lautete die nächste Zeile:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.259420798Z" level=info msg="Loading containers: start."

Und schlussendlich

Unit docker.socket has finished starting up.

Im Grunde hat das erneute Einhängen der cgroup-Inhalte das Problem behoben. Kein Neustart erforderlich.

Oligofren
quelle