Docker für Einsteiger – was sie dir nicht sagen
Docker ist toll. Wirklich. Reproduzierbare Umgebungen, keine "läuft bei mir"-Diskussionen, saubere Isolation. Ich mein das nicht sarkastisch. Aber die offiziellen Tutorials lassen ein paar Dinge aus die man dann im echten Leben auf die harte Tour lernt.
Volume-Mounts und ihre Tücken
Der häufigste Anfängerfehler: man mounted ein Verzeichnis in den Container und wundert sich warum Änderungen im Container auch außerhalb erscheinen – oder umgekehrt warum sie's nicht tun. Bind Mounts und named Volumes verhalten sich unterschiedlich. Ein named Volume wird von Docker verwaltet, ein Bind Mount zeigt direkt auf dein Dateisystem. Klingt offensichtlich wenn man's weiß.
docker-compose down -v – das gefährlichste Kommando
Das -v Flag löscht alle named Volumes die mit dem Compose-Projekt assoziiert sind. Inklusive Datenbankdaten. Inklusive allem was du nicht woanders gesichert hast. Ich hab das einmal in einer Produktionsumgebung gesehen – nicht von mir, aber von jemandem der dachte er räumt nur auf. War kein schöner Nachmittag.
.env-Dateien und was damit passiert
Docker Compose liest automatisch eine .env-Datei im gleichen Verzeichnis – aber nur für Variable-Substitution in der compose.yml, nicht automatisch als Container-Environment. Das sind zwei verschiedene Dinge. Wenn du Variablen im Container haben willst, musst du env_file oder environment explizit setzen. Und die .env-Datei gehört in .gitignore. Immer.
Das sind die Basics die ich gerne früher gewusst hätte. Dank an alle Stackoverflow-Antworten aus 2017 die mir damals geholfen haben und seitdem drei Versionen veraltet sind.
← zurück zu Archiv 📂 Archiv