Container Manager - Projekt erstellen

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
54
Punkte
54
Hi!

Kann man ein aus einem bestehenden, aktiven Container, im Container-Manager, ein Projekt erstellen ohne sich die ganzen Optionen selbst aus den Fingern saugen zu müssen?

Wobei ich bei diesem sog. "Projekt" davon ausgehen, dass dies am Ende ein Docker Compose File ist, welches ich zum Neuerstellen eines Container nutzen kann, oder?

Michael
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Dieses Script erzeugt dir von allen Containern ein Compose-File und eine Container-Manager Sicherung. Sollte man eh immer haben:
Bash:
#!/bin/bash

# anzupassen:
BackUpDir="/volume1/docker/Backup"
IgnoredContainer=(jitsi_jicofo jitsi_jvb jitsi_prosody jitsi_web synology_docviewer_2 synology_docviewer_1)

#–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
for container in $(docker ps --format "{{ .Names }}"); do
    if grep -q "${container}" <<< "${IgnoredContainer[@]}" ; then
        echo "${container} is on ignore list. Skipping this container."
        continue
    else
        echo "${container} export"

    # YAML:
        # https://www.synology-forum.de/threads/docker-container-automatische-docker-compose-file-erstellen-als-backup.110444/post-897496
        docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose "${container}" > "${BackUpDir}/${container}_$(date +%Y-%m-%d_%H-%M).yml"
    fi
done
exit
Pfad oben halt anpassen.
 

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
54
Punkte
54
Ah, cool - Danke, genau das was ich gesucht habe (y)
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Jawoll. Ich lasse das automatisiert im Aufgabenplaner laufen und sichere die Outputs (die im Docker-Share landen) gemeinsam mit den gemappten Ordnern per Hyper Backup weg. Im Worst Case hat man dann in wenigen Minuten alle Container wieder hochgezogen.
 
  • Like
Reaktionen: *kw*

Yippie

Benutzer
Mitglied seit
01. Feb 2011
Beiträge
643
Punkte für Reaktionen
54
Punkte
54
Wow, nochmal ein Pro-Tipp! Dankeschön!

Edit: Backup.-Pfad angepasst, als Aufgabe eingeplant und funktioniert wunderprächtig! Abermals Danke!
 
  • Like
Reaktionen: plang.pl

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Nachtrag: Die Rotation fehlt. Ich würde ans Ende (vor exit) noch folgende Zeile schreiben:
find ${BackUpDir} -mtime +14 -exec rm {} \;
Damit werden Daten älter als 14 Tage gelöscht.
 
  • Like
Reaktionen: rabbithole und Yippie

DrDeath

Benutzer
Mitglied seit
31. Aug 2018
Beiträge
202
Punkte für Reaktionen
89
Punkte
34
Anstelle von:
find ${BackUpDir} -mtime +14 -exec rm {} \;

könnte man "lesbarer" auch:
find ${BackUpDir} -mtime +14 -delete
schreiben.

Wenn man auch noch loggen möchte, was gelöscht wurde:
find ${BackUpDir} -mtime +14 -print -delete > /pfad/zum/log/logdatei.log
 
  • Like
Reaktionen: rabbithole und Yippie

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
könnte man "lesbarer" auch:
Ja stimmt hast du Recht. Ich habe beides in verschiedenen Scripten im Einsatz. Ich kann das aber nicht auswendig und poste halt immer das, was ich schneller in die Finger bekomme :)
 
  • Like
Reaktionen: DrDeath


 

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