Nach DSM-Update funktioniert docker nicht mehr

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

steviexo

Benutzer
Registriert
22. Okt. 2022
Beiträge
13
Reaktionspunkte
0
Punkte
1
Liebe community,

als ich vorgestern mein DSM auf die neueste Version 7.1.1.-42962 Update2 updatete, musste ich feststellen, dass das webinterface von portainer nicht mehr erreichbar war. Ich vermutete, es habe etwas mit Docker zu tun und als ich mich über ssh auf dem NAS einloggte und einen docker-command ausführte, resultierte dies in einem nicht endenden Prozess, also ich landete einfach nur in der nächsten Zeile des Terminals, ohne output. Könnt ihr mir sagen, was ich tun kann? Ich bin verzweifelt: ich führe mich gerade selbst in diese Welt ein, habe mir die Installation von docker, portainer und aktuell paperless mühsam über mehrere Wochen erarbeitet, versuche Zusammenhänge zu verstehen, aber es fällt mir sehr schwer. Doch ich bemühe mich. Ich wäre euch tausendfach dankbar für eine Hilfestellung, denn obwohl ich die letzten Wochen immer irgendwie alles allein herausfand und löste, fühle ich mich heute hilflos und brauche support.
 
Hi und willkommen!
DS schon mal neu gestartet?
Ist Docker im Paket-Zentrum auf dem aktuellsten Stand und läuft?
 
Docker ist nicht über die DSM-GUI installiert, sondern per CLI via ssh, da meine DS418 arm64 ist. Die DS wird ja nach dem update neugestartet, habe ich aber soeben nochmal getan, keine Veränderung. Docker-Version ist 20.10.0
 
Das ist aber nicht die neueste Docker-Version. Evtl ist deine Version nicht mit dem neuestem DSM kompatibel. Kannst du mal versuchen, die 20.10.3-1308 zu installieren?
 
Bevor ich das gerne versuche, kurze Frage: kann die Inkompatibilität von Docker und DSM auch dazu führen, dass kein docker-Befehl mehr im CLI ausgeführt wird? Und muss ich zum upgraden von Docker die bereits installierten container usw löschen oder bleibt das alles erhalten?
 
k.A. Aber natürlich kann es immer zu Problemen kommen, wenn du Pakete installierst, die von Synology so auf dieser DS nicht vorgesehen sind!
 
Ich stoße auf Schwierigkeiten, wenn ich versuche, docker auf die neueste Version upzudaten: ich kann docker über CLI weder anhalten, noch ein backup machen, da ja kein docker-Befehl ausgeführt wird. Daher weiß ich gerade nicht, wie zu aktualisieren. Ich will ja auch vermeiden, meine container zu löschen. Hast du eine Idee?

Edit: ich folge dieser Anleitung https://cynarski.eu/docker-on-synlogy-32bit/, natürlich angepasst an aarch64 und beim Test, ob die Version mit meinem OS kompatibel ist, passiert dasselbe wie bereits vorher: der Befehl prozessiert, es kommt kein output, als würde er hängen. Ich muss ihn also anhalten, um weitermachen zu können. Was kann das bedeuten?
 
Zuletzt bearbeitet:
Hast du die wichtigen Pfade deiner Container nicht aufs Dateisystem der DS gemappt, sodass ein Verlust der Container nicht schlimm wäre?
 
Ich habe eben das Update manuell durchgeführt, nach dem Update rödelte das Dockerlogo auf der Startseite einige Zeit. Docker wurde aber danach wieder normal ausgeführt mit allen Container.
 
Darf ich nachfragen, was du mit manuell geupdatet meinst? Mich verwirrt diese Antwort, denn wie ich schon sagte, ist Docker nicht über Synologys Paket-Zentrum installiert, sondern per ssh auf dem NAS
 
Zuletzt bearbeitet von einem Moderator:
Hast du die wichtigen Pfade deiner Container nicht aufs Dateisystem der DS gemappt, sodass ein Verlust der Container nicht schlimm wäre?
Das kann ich leider nicht beantworten, da ich nicht weiß, welches die wichtigen Pfade sind.
Sorry, ich sagte ja: beginner^^
 
Ich stoße auf Schwierigkeiten, wenn ich versuche, docker auf die neueste Version upzudaten: ich kann docker über CLI weder anhalten, noch ein backup machen, da ja kein docker-Befehl ausgeführt wird. Daher weiß ich gerade nicht, wie zu aktualisieren. Ich will ja auch vermeiden, meine container zu löschen. Hast du eine Idee?

Edit: ich folge dieser Anleitung https://cynarski.eu/docker-on-synlogy-32bit/, natürlich angepasst an aarch64 und beim Test, ob die Version mit meinem OS kompatibel ist, passiert dasselbe wie bereits vorher: der Befehl prozessiert, es kommt kein output, als würde er hängen. Ich muss ihn also anhalten, um weitermachen zu können. Was kann das bedeuten?
Ich bin hier weitergekommen und habe es geschafft, dass beim Test ein output erscheint. Leider hänge ich nun beim Befehl "dockerd": dieser endet immer in
grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting... module=grpc
failed to start containerd: timeout waiting for containerd to start
auch, wenn ich die containerd.pid und containerd.sock.ttrcp lösche.
 
Ich bin gespannt wie viele Nutzer auf einem nicht x86_64 NAS ohne offiziellen Syno Docker Paket, das Docker Binary-Release verwenden und hier wirklich weiter helfen können.

Auch das Docker Binary-Release hat Abhängigkeiten, die von Kernel und Bibliotheken bedient werden müssen - wenn Synology hier nicht den Hang hätte Dinge so zu verbiegen, dass sie sich weiterhin standardkonform verhalten würde, dann hättest Du hier vermutlich keine Probleme...

Grundsätzlich lohnt es sich mit dem check-config Skript zu schauen, ob alle relevanten Kernel Module da sind. Dann würde ich schauen, ob nicht noch weitere Kernel-Module vorhanden sind, die für Docker nützlich sind. Das offiziell Syno Docker SPK lädt auch jede Menge Kernel-Module nach...
VFS als Storage Driver und nur --network=host ist schon ziemlich suboptimal.

Ich bin hier weitergekommen und habe es geschafft, dass beim Test ein output erschein
Docker selbst ist ein erweiterter Luxus-Komfort-Adapater, der viel Low-Level Kram an Containerd deligiert. Du musst zuerst herausfinden, warum Containerd nicht läuft. Auf einem normalen Linux würde es separate systemd Service Konfigurationen für containerd und dockerd geben. Mit DSM7 verwendet Syno auch Systemd - vielleicht kannst Du dir auf einem anderen Linux abkupfern, wie die Systemd services aussehen und es auf der Syno nachbilden.
 
Ich bin hier weitergekommen und habe es geschafft, dass beim Test ein output erscheint. Leider hänge ich nun beim Befehl "dockerd": dieser endet immer in
grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock <nil> 0 <nil>}. Err :connection error: desc = "transport: error while dialing: dial unix:///var/run/docker/containerd/containerd.sock: timeout". Reconnecting... module=grpc
failed to start containerd: timeout waiting for containerd to start
auch, wenn ich die containerd.pid und containerd.sock.ttrcp lösche.
Indem ich die daemon.json nach Anleitung konfigurierte und wie angegeben ablegte, funktionierte dockerd ohne diese Fehlermeldung. Jedoch lande ich bei Ausführung des Befehls "sudo docker run hello-world" wieder in einem never-ending-process. Achach, es ist nicht einfach
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat