Container Manager, mehrere Container, Reihenfolge nach Neustart

Kamikaze01

Benutzer
Mitglied seit
06. Dez 2020
Beiträge
200
Punkte für Reaktionen
40
Punkte
28
Hallo liebe Freunde von Synology 🙂

Nachdem mir Google keine Hilfe war (trotz vieler Suchergebnisse, habe ich es nicht verstanden), frage ich einmal hier nach.

Ich habe einige Container am Laufen (auch portainer um diese zu verwalten).

Ich habe für fast alle Container ein eigenen Stack mit einem Docker Compose File in Portainer, damit ich diese anpassen und bei Bedarf neu erstellen kann. Ich finde das einfach Recht praktisch so...

Nun aber ist es so, dass einer dieser Container abhängig von Start eines anderen ist.
Und nach einem Neustart des DSM starten alle Container mehr oder weniger wild durcheinander wie sie wollen (habe überall restart: unless-stopped)

Und dieser eine Container startet nicht, da er eben abhängig ist und der notwendige Container offenbar länger braucht.

Wie kann ich bewerkstelligen, dass das nicht passiert?

:)
Mit depends_on kann ich nur eine Abhängigkeit eines Service erstellen, aber ich habe wie gesagt für jeden Container ein eigenes Compose File mit jeweils nur dem einen service...

Vielen Dank schon Mal für eure Hilfe 🙂
 

Der Paul

Benutzer
Mitglied seit
04. Feb 2014
Beiträge
126
Punkte für Reaktionen
26
Punkte
28
aber ich habe wie gesagt für jeden Container ein eigenes Compose File mit jeweils nur dem einen service

Die Frage nach dem "Warum" verkneife ich mir, da nichts gegen mehrere Container pro Compose spricht. Allerdings wirst Du auch damit (D)ein Grundproblem nicht lösen können: ich vermute, dass einige Deiner Container Dienste (Datenbank/VPN etc pp) für andere Container bereitstellen sollen und dass diese auch nur starten sollen, wenn Datenbank/VPN auch "da" ist. Und das ist genau das Problem: der Service ist aus Sicht von Docker "da", wenn der Container "da" ist - unabhängig davon, ob Datenbank/VPN im Container auch wirklich zu Ende geladen sind und Verbindungen akzeptieren.

Ich habe mir damit beholfen, die Stacks nur manuell zu starten. Und zwar per Syno Task Scheduler als "triggered task" "on bootup" mir jeweils einer Minute Pause zwischen den einzelnen docker compose up. Hässlich, aber es funktioniert.
 
  • Like
Reaktionen: Kamikaze01

Kamikaze01

Benutzer
Mitglied seit
06. Dez 2020
Beiträge
200
Punkte für Reaktionen
40
Punkte
28
Hallo @Der Paul und vielen Dank für Deine Antwort (y)



Die Frage nach dem "warum" kann ich Dir gerne beantworten:

Es ist in DSM auf einer Synology nicht möglich in Portainer bei den einzelnen Containern einzelne Variablen zu ändern/anzupassen/hinzuzufügen...

Das muss dann doch via DSM über den "Container Manager" gemacht werden, oder man erstellt den Container mit seinem Compose direkt in Portainer komplett neu.



Ich habe relativ viel und oft Container geändert, etwas ausprobiert, sie wieder gelöscht, etc... Und da tue ich mir wesentlich leichter, wenn ich für jeden meiner Container einfach ein Compose in Portainer Stacks habe, was ich bei Bedarf anpassen und womit ich den Container wieder neu anlegen kann.

...und das eben einzeln für jeden Container ohne gleich mehrere auf einmal :)

Vielleicht verwende ich das auch falsch, aber irgendwie hat es sich für mich bisher als ganz praktisch erwiesen :giggle:

Mit mehreren Containern in einem Stack könnte man sich vielleicht mit health Status helfen oder ähnliches... Da gäbe es glaube ich auch simple wait commandos...
Aber wie gesagt: ich habe gerne einen Container pro stack.

Zu Deiner Methode:
Hmmm... Du bekommst schon Mal ein Daumen hoch von mir für Deine Selbsterkenntnis
"Hässlich, aber es funktioniert" :LOL:😛😄

darf ich Dich noch Fragen wie so ein sheduled Task beispielsweise aussieht? Schreibst Du in das Fenster zum Ausführen den Inhalt des Compose File?
 


 

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