Host-Dateisystem einbinden

Docker für Fortgeschrittene

Mike Metzger

Data Engineer

Container-Dateisysteme

  • Container-Instanzen haben jeweils ihr eigenes Dateisystem
    • Basiert auf dem Image, mit dem der Container erstellt wurde
  • Alle Änderungen sind an diese Instanz gebunden
  • Änderungen bleiben über Neustarts erhalten
    • Aber nur für diese eine Instanz
  • Neue Container enthalten nur die Daten aus dem Image, nicht instanzspezifische Änderungen

Container-Dateisysteme

Docker für Fortgeschrittene

Dateien oder Verzeichnisse teilen

  • Bestimmte Dateien oder Verzeichnisse an Container anhängen
  • Ermöglicht Datenpersistenz, ohne eine bestimmte Instanz zu behalten
  • Container auf neue Version aktualisieren und Daten/Änderungen sicher behalten
  • Bekannt als Bind-Mount
  • Kann read-only oder read/write sein
  • Hinweis: Wenn Dateien oder Verzeichnisse an einen Container angehängt sind, sind sie für den Host erst nach dem Herunterfahren des Containers zugänglich
Docker für Fortgeschrittene

Die Option -v verwenden

  • Bind-Mounts nutzen meist das Flag -v
  • -v <source>:<destination>
  • Mehrere -v-Angaben erlaubt
  • Alternativ die Option --mount verwenden
  • Hinweis: Ein Bind-Mount versteckt vorhandene Inhalte im Zielverzeichnis
docker run -v ~/html:/var/www/html \
       nginx
docker run 
       -v ~/pgdata:/opt/data \
       -v ~/pg.conf:/etc/pg.conf \
       postgresql
Docker für Fortgeschrittene

Lass uns üben!

Docker für Fortgeschrittene

Preparing Video For Download...