Backup eines Compose-Projects wiederherstellen

  • 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

OdinsAuge

Benutzer
Registriert
12. Nov. 2015
Beiträge
387
Reaktionspunkte
38
Punkte
34
Meine Docker-Projekte werden alle regelmäßig gesichert. Compose-File, Configs und User-Daten der Container sowie die Datenbanken.

Wie ich Daten wiederherstelle ist mir klar, Container/Projekt stoppen, Backup der Daten einspielen, Container/Projekt wieder starten.

Wie siehts aber aus, wenn beispielsweise der Contrainer/die Anwendung fehlerhaft ist und ich eine ältere Version wiederherstellen möchte?
Muss ich wissen welche Image-Version im Backup steckt? Im Compose steht ja nur "latest".

Ich würde so vorgehen:
  1. aktuelles Projekt stoppen
  2. Backup einspielen
  3. Compose bearbeiten und dort explizit die alte Version der Images angeben (die ich dazu wissen muss)
  4. Projekt neu erstellen (alte Images werden geladen und Container daraus erstellt)
Denk ich zu kompliziert? Hab ich was übersehen? Wenn die Image/Anwendungsversion in den gesicherten Files(z.B. config) vermerkt ist gut, muss ich andernfalls die Version selbst vermerken?
 
Annahme: du verwendest ein Backup-Skript zum Vorbereiten der Daten

Falls das der Fall ist:
- alle image: Zeilen aus Compose-Datei greppen
- je Image docker inspect --format '{{.RepoDigests}}' <image> auslesen und es in irgendwo in einer Datei ablegen.

Wenn Du es dann wieder herstellen musst, dann kannst Du mit dem RepoDigest das exakte Image wieder beziehen (sofern es online nicht gelöscht wurde)

Alternativ kannst schauen, ob die Images Labels setzen, die brauchbare Information enthält, bspw. docker inspect --format '{{index .Config.Labels "org.opencontainers.image.version"}}' <image>.

Dein Ablauf wird so funktionieren.
 

Additional post fields

 

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