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