Overlay-Dateisysteme

Die Struktur aus (von unten nach oben):

  • Read-only Schichten

    • bootfs mit Kernel und cgroups

    • Basis Image (z.B. Alpine)

    • Application Image (z.B. Webserver Apache oder Nginx)

    • weitere Application-Layers

  • Read-Write Container Schicht (quasi on top)

    Jetzt wird aus einem Image ein Container!

Copy-On-Write (COW)

Zugriff durch die Schichten und in oberster Schicht (rw-Container) Kopie anlegen, für Daten aus den unteren ro-Schichten.

Ermitteln des Storage-Overlay-Systems:

docker info | grep Storage

Durch die Schichten

Übersicht Overlay-Systeme:

  • vfs (nur für Testing/Debugging)

  • aufs (ältester Docker Storage Driver; Advanced Multi-layered Unification Filesystem)

    Anm.: nur noch selten vertreten; siehe: Knoppix

  • overlay2 (die modernisierte overlay Variante und Docker-Standard)

    Anm.: Kernel >= 4.0 nötig!

  • btrfs (siehe openSUSE/SLES)

    Achtung (siehe Suse Installationen): Literatur empfiehlt noch keinen produktiven Einsatz!

  • zfs

    performant, hoher RAM-Verbrauch, Lizenzfragen; hinterfragen: Ubuntu nutzt zfs

  • devicemapper

    in allen Distros verfügbar; muss mit direct-lvm eingebunden werden (nicht: loop-lvm)

Hier mal eine Grafik zur OverlayFS(2) Technik:

Overlay(2)FS

OverlayFS(2)-Modell (Bild: Liebel - Skalierbare Container-Infrastrukturen für Ihr Unternehmen)

Siehe hierzu auch Ordnerstrukturen: /var/lib/docker/overlay...