Dockerfile Syntax

Syntaxelement | Beschreibung |
|---|---|
| FROM Abbildname FROM Abbildname : Versionstag | Festlegung des Sourceimages, auf dessen das neue Image gebaut werden soll. |
| MAINTAINER Name | Angabe des Erstellers des Images Name und Email für eventuelle Anfragen |
| RUN Kommando RUN ["Executable","Parameter1","Parameter2"] | Das RUN Kommando führt das angegeben Kommando in einem neuen Layer am Anfang des Images auf und schreibt das Ergebnis raus. Zur Beschleunigung der Auslieferung und der Installation des Images sollten immer mehrere RUN Kommandos zusammengefasst werden, um die Anzahl der Layer gering zu halten RUN führt das Kommando in der Shell aus RUN ["Executable","",""] führt das Executable aus |
| CMD Kommando Attribute CMD ["Executable","Parameter1","Parameter2"] CMD ["Parameter1","Parameter2"] | Stellt Standardwerte für die Ausführung des Containers bereit. Pro Dockerfile darf es nur einen CMD geben. CMD führt das Kommando in der Shell aus CMD ["Executable","",""] für das übergebene Executable aus CMD ["",""] Übergibt die Parameter an den Entrypoint |
| ENTRYPOINT ["Executable","Parameter1","Parameter2"] ENTRYPOINT Kommando Attribute1 Attribute2 ... | Die ENTRYPOINT-Anweisung fügt einen Einstiegs Befehl hinzu , dessen Argumente nicht überschrieben werden, wenn sie über den Befehl "docker run" übergeben werden. Das ist anders als das Verhalten von CMD. Dadurch können Argumente an den Einstiegspunkt übergeben werden |
| EXPOSE Port1 Port2 .... | Gibt an auf welchen Ports der Container hören soll. |
| ENV Schlüssel Wert | Setzen von Umgebungsvaiablen über Schüssel Wert Kombinationen |
| COPY Quelle Ziel COPY ["Quelle", ... "Ziel"] | Kopiert Dateien von der Quelle an das Ziel. Es können sowohl lokale als auch Remotedateien genutzt werden. Im Ziel erhalten diese Dateien immer die Berechtigung 0755 und als Eigentümer den UserID und GruppenID 0 (root) |
| ADD Quelle Ziel ADD ["Quelle", ... "Ziel"] | Wie COPY werden die Dateien kopiert . Handelt es sich bei der Quelldatei um ein Archiv (tar, zip,...) wird es automatisch am Ziel entpackt. |
| VOLUME ["/Pfad/Pfad"] | Erzeugt einen Mount Point |
| USER user USER user : group | Setzt den aktuell zu nutzenden User auf den angegebenen Wert und führt alle folgenden Befehle unter dessen Berechtigung aus. |
| WORKDIR /Pfad/zum/Arbeitsverzeichnis | Setzt das Arbeitsverzeichnis für RUN, CMD, ENTRYPOINT, COPY und ADD Befehle. Relative Pfade sind relativ zum Pfad des vorherigen Arbeitsverzeichnis definiert . |
| ARG Name ARG Name=Standardwert | Definiert eine Variable, die Benutzer zur Build-Zeit übergeben können. Der Build mit dem Befehl "docker build" kann die Variablen über den Parameter --build-arg = erhalten |
| ONBUILD Befehle | Trigger der ausgeführt wird , wenn das zu erstellenden Image als Basisimage genutzt wird. Es wird direkt beim Build nach dem FROM Kommando ausgeführt. |