Syntax Dockerfile

Schlüsselwörte für ein Dockerfile als Tabelle:

Schlüsselwort

Bedeutung

ADD

kopiert Dateien in das Dateisystem des Images

CMD

führt Kommando beim Start des Containers aus

COPY

kopiert Dateien aus Projekverzeichnis in das Image

ENTRYPOINT

führt Kommando beim Start des Containers aus

ENV

setzt eine Umgebungsvariable

EXPOSE

gibt die aktiven Ports an

FROM

gibt das Basis-Image an

LABEL

legt Zeichenkette fest

RUN

führt das Kommando aus

USER

Account für RUN, CMD und ENTRYPOINT

VOLUME

gibt Volume-Dirs an

WORKDIR

Arbeitsverzeichnis für RUN, CMD und ENTRYPOINT

Erläuterungen:

Kurze Analyse / Erläuterungen:

ADD v. COPY - scheinen ja dasselbe zu tun, aber ADD kann…

  • … auch mit URL umgehen

  • … auch (wie COPY) Verzeichnisinhalte komplett kopieren

  • … mit TAR-Archiven arbeiten/entpacken (gzip, bzip2, xz)

Beide können mit –chown=user:group Parameter umgehen.

In Kürze: COPY nur für einfaches Kopieren einer lokalen Datei.

CMD v. ENTRYPOINT - Startkommandos für Container

Wenn man Container mit mit docker run Komandos anfügt, dann …

  • … wird bei CMD das angefügte Kommando anstelle von CMD ausgeführt

  • … wird bei ENTRYPOINT das Kommando hinzugefügt