meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

spickzettel:docker:dockerfile [2020/12/31 00:29:56] – created Marcel Jäpelspickzettel:docker:dockerfile [2020/12/31 00:30:18] (current) Marcel Jäpel
Line 1: Line 1:
 +====== Dockerfile ======
  
 +Ein Beispiel der grundlegenden Syntax eines Dockerfiles.
 +
 +<file bash 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"]
 +</file>