Zurück zur Übersicht

Begriff

Docker Build

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.

Ein Docker Container kommt aus einem Image. Aber woher kommt das Image? Es wird gebaut ("gebacken"). Der Befehl docker build nimmt ein Rezept (Dockerfile) und Zutaten (deinen Code) und erstellt daraus ein Image. Er geht das Rezept Zeile für Zeile durch:

  1. Nimm Linux.
  2. Installiere Python.
  3. Kopiere meinen Code rein. Am Ende hast du ein fertiges Paket, das überall läuft.

Merksatz: Der Befehl (docker build), der den Docker Daemon anweist, ein Image basierend auf den Instruktionen in einem Dockerfile und einem Build-Context (Dateien) zu erstellen.


Quick-Check

  1. Warum ist der Build Context (".") wichtig?
    Docker ist Client-Server. Der CLI-Client zipped den ganzen Ordner und schickt ihn an den Daemon. Wenn du eine 5GB ISO im Ordner hast, dauert der Start des Builds ewig, auch wenn du die ISO im Dockerfile gar nicht nutzt. -> .dockerignore!
  2. Was sind "Dangling Images" (<none>)?
    Wenn du ein Image neu baust (v1), verliert die alte Version den Namen. Sie bleibt als Datenmüll auf der Platte. Aufräumen mit docker image prune.
  3. Kann/Sollte man im Build Tests laufen lassen?
    Ja! In einem Multi-Stage Build kann eine Stage RUN npm test ausführen. Wenn der Test failt, bricht der Build ab. So entsteht gar kein kaputtes Image.