Skip to content
BotServBotServ
DockerUpdateContainerImageRollback

Docker-Container aktualisieren

Container und Images sicher aktualisieren. Pull, Recreate, Tagging, Rollback und Automatisierung.

S

schutzgeist

3 min read
Docker-Container aktualisieren

Docker-Container aktualisieren

Was dieser Artikel über Docker-Updates behandelt

  • Wie Container-Updates funktionieren.
  • Wie man Images aktualisiert und Container neu erstellt.
  • Wie man Rollbacks und Versionen managt.
  • Automatisierung mit Watchtower oder Skripten.
  • Best Practices für sichere Updates.

Einleitung: Docker-Container aktualisieren

Docker-Container werden aus Images erstellt. Wenn ein Image aktualisiert wird, läuft der Container weiter mit der alten Version, bis er neu erstellt wird. Deshalb reicht ein docker pull allein nicht aus. Ein sauberer Update-Prozess holt das neue Image, stoppt den Container und startet ihn mit dem neuen Image wieder. Wer regelmässig aktualisiert, bekommt Sicherheitspatches und neue Features, muss aber auch mit Datenverlust und Inkompatibilitäten umgehen können.

Dieser Artikel zeigt, wie man Container sicher aktualisiert und Rollbacks vorbereitet.

Wichtige Begriffe

  • Image: Vorlage für einen Container.
  • Tag: Versionskennzeichnung eines Images.
  • Pull: Herunterladen eines neuen Images.
  • Recreate: Container neu erstellen mit aktuellem Image.
  • Rollback: Rückkehr zu einer früheren Version.
  • Downtime: Zeit, in der der Dienst nicht erreichbar ist.
  • Backup: Sicherung vor dem Update.
  • Watchtower: Tool zur automatischen Container-Aktualisierung.

Grundlagen: Pull und Recreate

docker pull ollama/ollama:latest
docker stop ollama
docker rm ollama
docker run -d --name ollama -v ollama-data:/root/.ollama -p 11434:11434 ollama/ollama:latest

Mit Compose:

docker compose pull
docker compose up -d

docker compose up -d erstellt Container neu, wenn sich das Image geändert hat.

Versionen und Tags

Statt latest sollten konkrete Tags verwendet werden:

image: ollama/ollama:0.3.12

Das erhöht die Reproduzierbarkeit und ermöglicht gezielte Rollbacks.

Backup vor dem Update

Vor wichtigen Updates sollten Volumes gesichert werden:

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

Update-Skript

#!/bin/bash
set -e

SERVICE="ollama"

docker compose pull "$SERVICE"
docker compose up -d "$SERVICE"
docker image prune -f

Automatisierte Updates mit Watchtower

Watchtower ist ein Container, der andere Container überwacht und aktualisiert:

services:
  watchtower:
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_POLL_INTERVAL=86400
      - WATCHTOWER_CLEANUP=true
    restart: unless-stopped

Mit WATCHTOWER_LABEL_ENABLE=true können nur bestimmte Container aktualisiert werden:

services:
  app:
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

Rolling Updates in Swarm

In Docker Swarm werden Updates ohne Downtime ausgerollt:

docker service update --image mein-image:2.0 mein_service

Rollback

Wenn das neue Image Probleme macht:

  1. Altes Image-Tag finden.
  2. Compose-Datei oder Run-Befehl anpassen.
  3. Container neu erstellen.
docker compose down
docker compose up -d

Mit fixem Tag:

image: ollama/ollama:0.3.10

Umgang mit grossen Updates

  • Changelog lesen.
  • Breaking Changes beachten.
  • Testumgebung nutzen, wenn möglich.
  • Backup vor Update.
  • Healthcheck nach Update prüfen.

Log-Prüfung nach Update

docker logs -f ollama
docker ps

Aufräumen

Alte Images belegen Platz:

docker image prune -f

Dangling Images entfernen. Ungenutzte Volumes bleiben, aber werden geprüft.

Tipps

  • Fixe Tags statt latest für kritische Dienste.
  • Regelmässig, aber nicht zu häufig aktualisieren.
  • Update-Fenster festlegen.
  • Downtime minimal halten.
  • Monitoring und Alerts auf Update-Probleme einrichten.
  • Backup-Strategie integrieren.

Typische Stolpersteine

  • latest verwendet: Unkontrollierte Updates.
  • Kein Backup: Datenverlust bei fehlerhaftem Update.
  • Datenbank-Schema-Änderung: Neue Version bricht alte Daten.
  • Fehlende Downtime-Planung: Dienst ist nicht erreichbar.
  • Alte Images sammeln sich: Festplatte läuft voll.
  • Update während Nutzung: Nutzer merken Unterbrechung.

FAQ: Docker-Updates

Wie oft sollte ich Container aktualisieren? Regelmässig, aber nicht bei jeder kleinen Änderung. Wichtige Sicherheitsupdates zeitnah.

Sollte ich latest verwenden? Für Homelabs ok, für kritische Dienste fixe Tags.

Was ist Watchtower? Ein Tool, das Container automatisch aktualisiert.

Kann ein Update Daten löschen? Nur wenn Volumes nicht gesichert sind oder die neue Version inkompatibel ist.

Wie mache ich ein Rollback? Altes Image-Tag in der Compose-Datei setzen und neu starten.

Quellen und weiterführende Literatur

Zusammenfassung: Docker-Container aktualisieren

Docker-Updates sind einfach, wenn man weiss, wie pull, up -d und das Recreate zusammenwirken. Für produktive Dienste sollten fixe Tags, Backups und klare Rollback-Strategien zum Standard gehören. Tools wie Watchtower automatisieren Updates, verlangen aber besondere Aufmerksamkeit bei kritischen Containern. Wer regelmässig aktualisiert, Images aufräumt und Volumes sichert, hält den eigenen Stack sicher und aktuell.

Zurück zum KI Blog
Share:

Ähnliche Beiträge