Grundlegendes zu Dockerfile-Kernkonzepten

Abgeschlossen

Dockerfiles sind Textdateien mit den Befehlen, die von docker build zum Zusammenstellen eines Images benötigt werden.

Hier sehen Sie ein Beispiel für ein einfaches Dockerfile:

FROM ubuntu
LABEL maintainer="johndoe@contoso.com"
ADD appsetup /
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
CMD ["echo", "Hello World from within the container"]

Die erste Zeile verweist auf das übergeordnete Image, auf dem dieses neue Image basieren wird.

Im Allgemeinen basieren alle Images auf einem anderen vorhandenen Image. In diesem Fall wird das Ubuntu-Image entweder aus einem lokalen Cache oder aus DockerHub abgerufen.

Ein Image ohne übergeordnetes Image wird als Basisimage bezeichnet. In diesem seltenen Fall kann die FROM-Zeile entfallen oder stattdessen FROM scratch verwendet werden.

Die zweite Zeile gibt die E-Mail-Adresse der Person an, die diese Datei verwaltet. Zuvor gab es einen MAINTAINER-Befehl, der jedoch veraltet ist und durch eine Bezeichnung ersetzt wurde.

In der dritten Zeile wird dem Stammordner des Images eine Datei hinzufügt. Es kann auch eine ausführbare Datei hinzugefügt werden.

Die vierte und fünfte Zeile gehören zum einem RUN-Befehl. Beachten Sie die Verwendung des umgekehrten Schrägstrichs, um die vierte Zeile aus Gründen der Lesbarkeit auf der fünften Zeile fortzusetzen. Ebenso hätten Sie diese Zeile auch folgendermaßen schreiben können:

RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'

Der RUN-Befehl wird ausgeführt, wenn der Docker-Build das Image erstellt. Er wird verwendet, um Elemente innerhalb des Images zu konfigurieren.

Im Vergleich dazu stellt die letzte Zeile einen Befehl dar, der bei Erstellung eines neuen Containers aus dem Image ausgeführt wird. Die Ausführung erfolgt nach der Containererstellung.

Weitere Informationen finden Sie hier:

Dockerfile-Referenz