Docker Compose Container per Skript aktualisieren

Viele Applikationen lassen sich heute einfach und gekapselt über Docker Container verwalten. Mit Docker Compose können mehrere Container und deren Einstellungen komfortabel in einer Datei organisiert werden. Wer mehrere Projekte betreibt, steht früher oder später vor der Aufgabe, alle Docker Compose Container per Skript aktualisieren zu wollen. In dieser Anleitung zeige ich, wie das effizient und automatisiert gelingt.

Warum Docker Compose Container per Skript aktualisieren?

Das manuelle Aktualisieren mehrerer Docker Compose Projekte ist nicht nur mühsam, sondern auch fehleranfällig. Ein Skript automatisiert diesen Prozess, sorgt für eine saubere Umgebung durch das Entfernen ungenutzter Ressourcen und reduziert den Wartungsaufwand erheblich. So bleibt mehr Zeit für anderes.

Voraussetzungen und Vorbereitung

Bevor du Docker Compose Container per Skript aktualisieren kannst, sollten folgende Voraussetzungen erfüllt sein:

  • Docker und Docker Compose sind installiert.

  • Die Pfade zu den Docker Compose Projektverzeichnissen sind bekannt.

  • Grundkenntnisse im Umgang mit der Shell sind vorhanden.

  • Das Skript wird an die eigenen Bedürfnisse angepasst und ausführbar gemacht.

Skript im Detail – Schritt für Schritt

1. `docker-compose-update.sh` erstellen

Das folgende Bash-Skript ermöglicht es, mehrere Docker Compose Projekte zentral zu aktualisieren. Es bietet eine Auswahl der Projekte, stoppt die laufenden Container, entfernt ungenutzte Ressourcen, lädt die neuesten Images und startet die Container neu.

#!/bin/bash
# Array der Docker-Compose-Projektverzeichnisse
DOCKER_COMPOSE_DIRS=(
    "/pfad/zu/projekt1" 🔴 Pfade anpassen
    "/pfad/zu/projekt2" 🔴 Pfade anpassen
    # usw.
)
# Funktion zur Anzeige der Projekte
display_projects() {
    echo "Verfügbare Docker-Compose-Projekte:"
    for i in "${!DOCKER_COMPOSE_DIRS[@]}"; do
        echo "$((i+1)). ${DOCKER_COMPOSE_DIRS[i]}"
    done
}
# Überprüfen, ob Projekte gefunden wurden
if [ ${#DOCKER_COMPOSE_DIRS[@]} -eq 0 ]; then
    echo "Keine Docker-Compose-Projekte im Verzeichnis gefunden."
    exit 1
fi
# Projekte anzeigen
display_projects
# Auswahlaufforderung für das Projekt
while true; do
    read -p "Gib die Nummer des Projekts ein, das du aktualisieren möchtest (oder 'q' zum Beenden): " choice
    if [[ "$choice" == "q" ]]; then
        echo "Beende..."
        exit 0
    fi
    if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le ${#DOCKER_COMPOSE_DIRS[@]} ]; then
        project_index=$((choice-1))
        selected_project="${DOCKER_COMPOSE_DIRS[project_index]}"
        echo "Aktualisiere Docker-Compose-Projekt: $selected_project"
        cd "$selected_project" || exit
        echo "1. Stoppe aktuelle Services..."
        docker compose down
        echo "2. Entferne ungenutzte Ressourcen..."
        docker system prune -af --volumes
        echo "3. Lade neueste Images..."
        docker compose pull
        echo "4. Starte Services neu..."
        docker compose up -d
        echo "Aktualisierung abgeschlossen für $selected_project"
        exit 0
    else
        echo "Ungültige Auswahl. Bitte gib eine gültige Nummer oder 'q' ein."
    fi
done

2. Anpassungen vornehmen

Im Skript befindet sich ein Array mit den Pfaden zu deinen Docker Compose Projekten. Ersetze alle 🔴 markierten Stellen. Hier kommt der Pfad deines Ordners rein, in dem sich die Docker Compose Datei befinden.

DOCKER_COMPOSE_DIRS=(
  "/pfad/zu/projekt1"
  "/pfad/zu/projekt2"
  # usw.
)

Speichere das Skript aktualisierte Skript und mache es mit folgendem Befehl ausführbar:

chmod 755 docker-compose-update.sh

3. Skript ausführen und Container aktualisieren

Starte das Skript mit:

./docker-compose-update.sh

Du erhältst eine Auswahl aller Projekte. Nach Auswahl wird das gewünschte Docker Compose Projekt gestoppt, ungenutzte Ressourcen werden entfernt, die neuesten Images geladen und die Container neu gestartet. So kannst du alle Docker Compose Container per Skript aktualisieren – schnell und zuverlässig.

Fazit

Das Aktualisieren von Docker Compose Containern per Skript ist eine effiziente und zeitsparende Methode, um mehrere Projekte zuverlässig zu verwalten. Mit wenigen Anpassungen und Befehlen lässt sich die Wartung automatisieren und der Administrationsaufwand deutlich reduzieren.

Probiere das Skript aus und optimiere deine Docker Compose Verwaltung noch heute! Teile deine Erfahrungen und Fragen gerne in den Kommentaren.

Schreibe jetzt einen Kommentar!