Skip to content
BotServBotServ
DockerMigrationExportImportVolumes

Docker-Container migrieren

Docker-Container auf einen anderen Host umziehen. Export, Import, Images, Volumes und Compose-Strategien.

S

schutzgeist

2 min read
Docker-Container migrieren

Docker-Container migrieren

Was dieser Artikel über Docker-Migration behandelt

  • Wann Container migriert werden müssen.
  • Container und Images exportieren.
  • Volumes kopieren.
  • Compose-Umgebungen umziehen.
  • Tipps für einen reibungslosen Umzug.

Einleitung: Docker-Container migrieren

Manchmal muss man einen Docker-Container auf einen anderen Host umziehen. Das kann bei Hardware-Wechsel, Cloud-Umzug oder Umstrukturierung notwendig sein. Eine saubere Migration erfasst das Image, die Konfiguration und vor allem persistente Daten. Ohne Volumes und Umgebungsvariablen verliert man beim Umzug oft den wichtigsten Teil.

Dieser Artikel zeigt, wie Docker-Container, Images, Volumes und Compose-Setups migriert werden.

Wichtige Begriffe

  • Export: Container-Filesystem als tar.
  • Import: tar in Image umwandeln.
  • Save/Load: Image als tar speichern und wieder laden.
  • Volume: Persistente Container-Daten.
  • Commit: Container in Image umwandeln.
  • Registry: Zentrale Image-Speicherung.
  • rsync: Dateisynchronisation.
  • Compose-Override: zusätzliche Compose-Datei.

Wann migrieren?

  • Neuer Server.
  • Cloud-Wechsel.
  • Backup-Wiederherstellung.
  • Entwicklungs- zu Produktivumgebung.
  • Hardware-Tausch.

Container als Image speichern

docker commit mein-container mein-image:backup
docker save -o mein-image.tar mein-image:backup

Auf neuem Host:

docker load -i mein-image.tar

Container exportieren

docker export mein-container -o mein-container.tar
cat mein-container.tar | docker import - mein-image:importiert

Images übertragen

docker save -o images.tar image1:latest image2:latest
docker load -i images.tar

Volumes kopieren

Volumen auslesen und transferieren:

docker run --rm -v mein-volume:/data -v $(pwd):/backup alpine \
  tar -czf /backup/mein-volume.tar.gz -C /data .

Auf neuem Host:

docker run --rm -v mein-volume:/data -v $(pwd):/backup alpine \
  tar -xzf /backup/mein-volume.tar.gz -C /data

Mit rsync

Für grosse Volumes:

rsync -avz /var/lib/docker/volumes/mein-volume/_data/ \
  benutzer@neuer-host:/var/lib/docker/volumes/mein-volume/_data/

Compose-Dateien

  1. Kopiere alle Compose-Dateien.
  2. Kopiere .env-Dateien.
  3. Sichere Volumes.
  4. Starte auf neuem Host:
docker compose up -d

Registry nutzen

Eigene Images in Registry pushen:

docker tag mein-image:latest registry.example.com:5000/mein-image:latest
docker push registry.example.com:5000/mein-image:latest

Auf neuem Host:

docker pull registry.example.com:5000/mein-image:latest

Checkliste

  • Images gespeichert oder in Registry gepusht.
  • Volumes gepackt und kopiert.
  • Compose-Dateien übertragen.
  • .env-Dateien übertragen.
  • Netzwerke und Ports geprüft.
  • Secrets und Zertifikate kopiert.
  • Container auf neuem Host gestartet.
  • Logs und Funktionalität prüfen.

Tipps

  • Container besser als Image speichern als export.
  • Volumes immer separat sichern.
  • Nicht nachträglich den Container verändern, bevor man commitet.
  • Versionsnummern notieren.
  • Testumgebung vorher ausprobieren.
  • Datenbank-Dumps zusätzlich erstellen.
  • DNS und externe Abhängigkeiten anpassen.

Typische Stolpersteine

  • Volume vergessen: Daten fehlen nach dem Start.
  • Unterschiedliche Pfade: Bind Mounts passen nicht mehr.
  • Fehlende .env: Container startet nicht.
  • Architekturunterschiede: Image für amd64 läuft nicht auf arm64.
  • Netzwerkprobleme: Neue Host-IP oder DNS.
  • Secrets fehlen: Anwendung authentifiziert sich nicht.

FAQ: Docker-Container migrieren

Was ist der einfachste Weg? Image mit docker save und Volumes als tar, dann auf neuem Host laden.

Muss ich den Container stoppen? Ja, für konsistente Daten und ein sauberes Image.

Gehen Volumen mit export verloren? Ja, docker export speichert nur das Container-Filesystem.

Kann ich Volumes direkt kopieren? Ja, über docker run mit tar oder rsync.

Wie übertrage ich viele Images? Registry oder docker save mehrere Images in eine tar-Datei.

Quellen und weiterführende Literatur

Zusammenfassung: Docker-Container migrieren

Container-Migration erfordert mehr als nur das Verschieben eines Images. Volumes, Umgebungsvariablen, Netzwerke und Secrets gehören ebenfalls zum Umzug. Images lassen sich mit docker save/load oder einer Registry übertragen, Volumes über tar oder rsync kopieren. Eine Checkliste und ein kurzer Funktionstest helfen, Datenverlust und Ausfallzeiten zu vermeiden.

Zurück zum KI Blog
Share:

Ähnliche Beiträge