meta data for this page
Differences
This shows you the differences between two versions of the page.
spickzettel:docker:dockerfile [2020/12/31 00:29:56] – created Marcel Jäpel | spickzettel: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" | ||
+ | FROM ubuntu | ||
+ | |||
+ | # Metadaten | ||
+ | LABEL maintainer=" | ||
+ | LABEL version=" | ||
+ | |||
+ | # 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: | ||
+ | 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, | ||
+ | ENTRYPOINT [" | ||
+ | CMD [" | ||
+ | </ |