Container Manager - Projekt erstellen

Yippie

Benutzer
Registriert
01. Feb. 2011
Beiträge
704
Reaktionspunkte
71
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
 
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.
 
Ah, cool - Danke, genau das was ich gesucht habe (y)
 
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*
Wow, nochmal ein Pro-Tipp! Dankeschön!

Edit: Backup.-Pfad angepasst, als Aufgabe eingeplant und funktioniert wunderprächtig! Abermals Danke!
 
  • Like
Reaktionen: plang.pl
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
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
Das Script wirft mir ein
Code:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
aus
 
ah, nee, ich hatte das via ssh gestartet. muss von root aus?
 
Dieses Script erzeugt dir von allen Containern ein Compose-File und eine Container-Manager Sicherung. Sollte man eh immer haben:
Hi plang-pl,

mal wieder goldrichtig. Besten Dank. Klappt auch unter dem guten alten DSM 6.2 noch bestens :)

cheers,
abrocksi
 

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