Ein einfaches Image erstellen und dessen Historie anzeigen
In diesem Schritt lernen wir, wie man ein einfaches Docker-Image erstellt und dessen Historie einsehen kann. Das Erstellen eines Docker-Images beinhaltet die Erstellung einer Dockerfile
- einer Textdatei, die alle Befehle enthält, die ein Benutzer auf der Kommandozeile aufrufen würde, um ein Image zusammenzustellen.
Navigieren Sie zunächst in das Verzeichnis ~/project
, falls Sie sich nicht bereits dort befinden.
cd ~/project
Nun erstellen wir eine einfache Dockerfile
. Wir legen eine Datei namens Dockerfile
im Verzeichnis ~/project
an.
nano Dockerfile
Fügen Sie folgenden Inhalt zur Dockerfile
hinzu:
FROM ubuntu:latest
RUN echo "Hello, Docker!" > /app/hello.txt
CMD ["cat", "/app/hello.txt"]
Diese Dockerfile
bewirkt folgendes:
FROM ubuntu:latest
: Diese Zeile spezifiziert das Basis-Image für unser neues Image. Wir verwenden die neueste Version des Ubuntu-Images von Docker Hub.
RUN echo "Hello, Docker!" > /app/hello.txt
: Diese Zeile führt einen Befehl während des Image-Build-Prozesses aus. Sie erstellt ein Verzeichnis /app
und schreibt den Text "Hello, Docker!" in eine Datei namens hello.txt
in diesem Verzeichnis.
CMD ["cat", "/app/hello.txt"]
: Diese Zeile spezifiziert den Standardbefehl, der ausgeführt wird, wenn ein Container aus diesem Image gestartet wird. Sie führt den Befehl cat /app/hello.txt
aus, der den Inhalt der hello.txt
-Datei anzeigt.
Speichern Sie die Datei und beenden Sie den nano-Editor (Drücken Sie Strg + X
, dann Y
, dann Enter
).
Nun bauen wir das Docker-Image mit dem Befehl docker build
. Wir versehen das Image mit dem Namen my-hello-image
und dem Tag latest
. Der Punkt .
am Ende des Befehls zeigt an, dass sich die Dockerfile
im aktuellen Verzeichnis befindet.
docker build -t my-hello-image:latest .
Sie sehen eine Ausgabe, die den Build-Prozess anzeigt, wobei jeder Schritt ausgeführt wird.
Nachdem das Image erstellt wurde, können Sie die Historie des Images mit dem Befehl docker history
anzeigen. Dieser Befehl zeigt die Schichten (Layers), aus denen das Image besteht, sowie die Befehle, die zur Erstellung jeder Schicht verwendet wurden.
docker history my-hello-image:latest
Die Ausgabe zeigt eine Tabelle mit Informationen zu jeder Schicht, einschließlich der Schicht-ID, des verwendeten Befehls, des Erstellungszeitpunkts und der Größe. Diese Historie ist nützlich, um zu verstehen, wie ein Image erstellt wurde, und um Build-Probleme zu debuggen.