Zurück zur Übersicht

Begriff

Docker Image

Containerization Docker S1
2 Quellen 1 Lernpfad 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wenn du einen Container starten willst, brauchst du eine Vorlage. Diese Vorlage ist das Docker Image. Es ist wie ein Schnappschuss (Snapshot) von einem kompletten Computer. Darin ist:

  • Das Betriebssystem (Linux Alpine, Ubuntu).
  • Die Tools (Python, Node.js).
  • Dein Code (app.py). Der Clou: Ein Image ist unveränderlich (Immutable). Wenn du es einmal gebaut hast, ändert es sich nie wieder (außer du baust eine neue Version v2). Wenn du 10 Container aus einem Image startest, sind alle 10 beim Start exakt gleich.

Merksatz: Ein schreibgeschütztes Template, das alle notwendigen Dateien (Code, Libraries, Dependencies, OS) enthält, um einen Container auszuführen. Es besteht aus übereinanderliegenden Layern.


Quick-Check

  1. Was ist "Squashing"?
    Das Zusammenfügen vieler kleiner Layer zu einem großen. Vorteil: Kleinere Gesamtgröße (gelöschte Dateien fliegen wirklich raus). Nachteil: Docker kann Layer nicht mehr wiederverwenden (schlechtes Caching beim Pull/Push).
  2. Warum keine Passwörter im Image?
    Weil jeder, der docker history tippt oder das Image entpackt (docker save), die Datei im Klartext sehen kann. Auch wenn du sie im nächsten Layer löschst! (Siehe Whiteout Files).
  3. Was ist OCI?
    Open Container Initiative. Ein Standard, damit Docker-Images auch in anderen Runtimes (Podman, Kubernetes CRI-O) laufen. Ein "Docker Image" ist heute eigentlich ein "OCI Image".