Zurück zur Übersicht

Begriff

Dockerfile

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.

Das Dockerfile (ohne Dateiendung!) ist das Kochrezept für dein Image. Docker liest es von oben nach unten. Jede Zeile im Rezept fügt eine Zutat hinzu. Typische Befehle:

  • FROM: Nimm einen Basis-Kuchenboden (Ubuntu).
  • COPY: Wirf meine Erdbeeren (Code) drauf.
  • RUN: Backe es bei 200 Grad (Kompilieren / Installieren).
  • CMD: Serviere es mit Sahne (Startbefehl).

Merksatz: Eine Textdatei mit Instruktionen zur automatisierten Erstellung eines Docker-Images. Jeder Befehl erzeugt einen neuen Layer im Image.


:level0

Lernbruecke: Ein Dockerfile ist eine Bauanleitung. FROM sagt, womit du startest. COPY legt Dateien hinein. RUN bereitet etwas vor. CMD sagt, was beim Start laufen soll.

Quick-Check

  1. Was macht onbuild?
    Ein Trigger für Kind-Images. Wenn ich FROM my-onbuild-image mache, werden Befehle ausgeführt, die im Eltern-Image definiert wurden. Nützlich für Boilerplates, aber intransparent ("Magic code execution"). Wird heute selten genutzt.
  2. Warum EXPOSE?
    Es ist nur Dokumentation für den Menschen. Es öffnet keinen Port! (Das macht docker run -p). Aber Tools (wie Traefik) lesen es, um zu wissen, wo der Service läuft.
  3. Heredocs?
    Seit BuildKit kannst du mehrzeilige Skripte sauber schreiben: RUN <<EOF ... EOF. Das macht RUN-Layer viel lesbarer als && \-Ketten.