Zum Inhalt springen

Dockerfile

Dockerfile
# Basis Image, auf dem aufgebaut wird. Image wird beim Bauen automatisch aus der Registry heruntergeladen.
# Alternativ "FROM scratch". Dann wird mit einem leeren "/" gestartet und man muss sich um den Inhalt vollständig selbst kümmern.
FROM ubuntu

# Metadaten
LABEL maintainer="alias@domain.tld"
LABEL version="1.0"

# RUN Befehle werden ausschließlich beim Build des Images ausgeführt. NICHT beim Bau oder Starten des Containers!
RUN uname -a
RUN apt-get update && apt-get install -y iputils-ping

# Daten zum Image hinzufügen.
# ADD hat zusätzliche Funktionen, wie das automatische Entpacken von Tarballs oder das Herunterladen von Dateien über URLs.
# Kann aber auch als Ersatz für COPY dienen. Solang man keinen Tarball hinein kopieren will, ohne ihn zu entpacken. :P
# COPY kopiert ausschließlich lokal vorhandene Dateien in das Image
ADD app.tar.gz /app
COPY file2 /app/file2

# Beim Build: wechselt das aktuelle Arbeitsverzeichnis für nachfolgende RUNs
# Beim Container-Start: setzt das aktuelle Arbeitsverzeichnis bevor ENTRYPOINT/CMD ausgeführt wird.
WORKDIR /app
RUN touch file3

# Meldet dem Host, welcher Port vom Container geöffnet wird
EXPOSE 80

# Definiert was beim Starten des Containers standardmäßig ausgeführt werden soll.
# Ist ENTRYPOINT gesetzt, wird der CMD als Argument an den ENTRYPOINT angehangen.
# Der ENTRYPOINT ist optional. Wird er weggelassen, kann der CMD direkt einen Befehl beinhalten
ENTRYPOINT ["ping", "-c3"]
CMD ["localhost"]
Zuletzt aktualisiert am