Docker

Aus XccesS Wiki
Version vom 6. Juni 2025, 17:14 Uhr von Hendrik (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Wiederherstellung der kompletten Docker-Umgebung nach Neuinstallation = Diese Seite beschreibt Schritt für Schritt, wie Du **nach einem Komplett-Reinstall des Servers** (Ubuntu 22.04 LTS, leerer Zustand) Deine zuvor mit dem Skript <code>backup_docker_rsync.sh</code> gesicherten Docker-Container, -Volumes und -Konfigurationsdateien wiederherstellst. Die Backups liegen auf einer QNAP-Freigabe unter <code>\\192.168.1.15\Backup\Docker\*</code> (Snap­sh…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Wiederherstellung der kompletten Docker-Umgebung nach Neuinstallation

Diese Seite beschreibt Schritt für Schritt, wie Du **nach einem Komplett-Reinstall des Servers** (Ubuntu 22.04 LTS, leerer Zustand) Deine zuvor mit dem Skript backup_docker_rsync.sh gesicherten Docker-Container, -Volumes und -Konfigurationsdateien wiederherstellst. Die Backups liegen auf einer QNAP-Freigabe unter \\192.168.1.15\Backup\Docker\* (Snap­shots) und werden lokal nach /mnt/Backup/Docker/ gemountet.

Voraussetzungen
  • Frisches Linux – Root-SSH-Zugang
  • NAS online, Netzwerk erreichbar
  • Zeitstempel des Snapshots (oder latest)
  • Sicherungs-Script restore_docker_rsync.sh (siehe Scripts/Docker_Restore)

1 Linux-Grundsystem vorbereiten

# apt update && apt upgrade -y
# apt install vim curl rsync gnupg2 ca-certificates lsb-release \
               software-properties-common

2 Docker Engine installieren

## 2.1 Docker-Repo hinterlegen
# install -m 0755 -d /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
      | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
   https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
  | tee /etc/apt/sources.list.d/docker.list

## 2.2 Engine + Compose laden
# apt update
# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \
               docker-compose-plugin -y

## 2.3 Daemon starten + beim Boot aktivieren
# systemctl enable --now docker
# docker --version   # prüfen

3 NAS-Share einbinden

Protokoll Beispiel-Mount Fstab-Eintrag
SMB/CIFS
# apt install cifs-utils
# mkdir -p /mnt/Backup
# mount -t cifs //192.168.1.15/Backup /mnt/Backup \
      -o username=<NASUSER>,password=<PASS>,uid=0,gid=0,vers=3.0,noperm
//192.168.1.15/Backup /mnt/Backup cifs vers=3.0,uid=0,gid=0,noperm,_netdev,credentials=/root/.smb 0 0
NFS (empfohlen, behält UID/GID)
# apt install nfs-common
# mount -t nfs4 192.168.1.15:/Backup /mnt/Backup
192.168.1.15:/Backup /mnt/Backup nfs4 defaults,_netdev 0 0

Überprüfen:

# ls /mnt/Backup/Docker | head

4 Restore-Skript ablegen

# curl -o /usr/local/sbin/restore_docker_rsync.sh \
       https://<dein-git-oder-wiki>/restore_docker_rsync.sh
# chmod +x /usr/local/sbin/restore_docker_rsync.sh

5 Snapshot wählen

Alle verfügbaren Snapshots:

# ls /mnt/Backup/Docker
2025-06-01-0230  2025-06-02-0230  ...  latest

6 Wiederherstellung ausführen

Trockenlauf
# restore_docker_rsync.sh -s 2025-06-06-1557 --dry-run

Wenn die Ausgabe plausibel ist → Live-Restore:

# restore_docker_rsync.sh -s 2025-06-06-1557
  • Docker-Dienst stoppt automatisch
  • Volumes, Config & Compose-YAMLs werden zurückkopiert
  • Docker startet neu, alle Stacks laufen wieder

7 Validierung

# docker ps
# docker compose -f /data/compose/XX/docker-compose.yml ps

Stichproben-Check von Web-UIs / APIs der Dienste.

8 Backup-Automatisierung nachziehen

backup_docker_rsync.sh und Cron-Eintrag wiederherstellen → siehe Doku/Backup_Docker

Troubleshooting

  • „permission denied“ → Share nicht mit uid=0,gid=0 gemountet
  • Container bleiben paused → manuell docker unpause $(docker ps -q --filter status=paused)
  • Netzwerk-Ports kollidieren → prüfen, dass keine anderen Services auf dem frischen OS laufen

Stand: 06 Juni 2025 – getestet mit Ubuntu 22.04 LTS & Docker 28.1