Docker · 6 min read · Nov 24, 2025

Docker Teil 4: Erstellen und Veröffentlichen benutzerdefinierter Docker-Images

Im ersten und zweiten Teil haben wir die Grundlagen des Betriebs eines Containers behandelt, indem wir unser System für die Verwaltung von Docker-Containern vorbereitet haben und was es aus technischer Sicht bedeutet, einen Docker-Container im Vergleich zu anderen Virtualisierungstechnologien zu verwenden. Dann haben wir im dritten Teil praktisch mit Docker-Images gearbeitet, die Grundlagen gelernt und unseren ersten Notepad-Container mit entweder WordPress oder DokuWiki erstellt.

In diesem vierten Teil werden wir sehen, wie Docker-Images erstellt werden, und wir werden unser eigenes benutzerdefiniertes Image erstellen, das bereit ist, heruntergeladen und mit unseren Freunden, Kollegen und Gemeinschaften geteilt zu werden.

Für dieses Tutorial verwenden wir das Whale-Docker-Image. Der Whale ist das offizielle Maskottchen von Docker und das Whale-Docker-Image ähnelt dem cowsay-Programm, das ASCII-Bilder einer Kuh im Terminal mit einer Nachricht generiert. Es kann auch Bilder mit vorgefertigten Bildern anderer Tiere, wie Tux dem Pinguin und dem Linux-Maskottchen, generieren.

Einführung in Docker-Dateien

Im vorherigen Teil haben wir uns mit dem Docker Hub vertraut gemacht und gelernt, dass es sich um eine cloudbasierte zentrale Ressource für die Entdeckung von Container-Images, den Aufbau von Images und die Verteilung dieser Images handelt. Wir haben auch gelernt, dass ein Docker-Image ein mehrschichtiges Image auf einem Basis-Image ist. Das bedeutet, dass die Verwendung eines Basis-Images die Mühe beseitigt, ein geeignetes Betriebssystem für das Docker-Image von Grund auf zu erstellen, und uns die Möglichkeit gibt, die oberen Schichten, in denen unsere Software residieren wird, anzupassen.

Um ein benutzerdefiniertes Image mithilfe eines Basis-Images zu erstellen, müssen wir der Docker-Engine Anweisungen geben, wie Pakete und Dateien installiert und konfiguriert werden sollen, sowie einige Einstellungen, die damit verbunden sind. Diese Anweisungen werden in einer einfachen Textdatei namens “dockerfile” geschrieben. Dockerfiles sind wie Rezepte, die Sie einem Koch übergeben, und er/sie kocht Ihnen eine großartige Mahlzeit. Diese Docker-Dateien werden mit einer einfachen, beschreibenden Reihe von Schritten geschrieben, die als “Anweisungen” bezeichnet werden. Jede Anweisung erstellt eine neue Schicht in unserem Image. Anweisungen umfassen Aktionen wie das Ausführen eines Befehls, das Hinzufügen einer Datei oder eines Verzeichnisses, welchen Prozess beim Starten eines Containers aus dem Image ausgeführt werden soll usw. Dieser Prozess ist genau so, wie Sie eine Reihe von Befehlen in einem Shell-Skript festlegen würden. Sobald Sie die Erstellung eines Images anfordern, liest Docker das Dockerfile, führt die Anweisungen aus und gibt ein endgültiges Image zurück.

Erstellen eines Docker-Images

Es gibt zwei Möglichkeiten, Ihr benutzerdefiniertes Docker-Image zu erstellen. Sie können es entweder auf Ihrem Computer erstellen oder Sie können den Docker Hub verwenden, über den wir zuvor gesprochen haben. In diesem Teil werden wir lernen, wie wir unser Docker-Image lokal erstellen und dann im Docker Hub Registry veröffentlichen.

Lokal erstellen mit einem Dockerfile

Wir werden ein benutzerdefiniertes Docker-Image mit dem “Whale say”-Image erstellen, das ein kleines Docker-Image (basierend auf einem Ubuntu-Image) ist, das, wenn Sie es ausführen, etwas sagt, das Sie programmiert haben, um es Ihnen zu sagen.

Zuerst öffnen Sie ein Terminal und erstellen einen neuen Ordner, indem Sie eingeben:

mkdir mywhale

Dieses Verzeichnis dient als “Kontext” für Ihren Build. Der Kontext bedeutet einfach, dass es alle Dinge enthält, die Sie benötigen, um Ihr Image erfolgreich zu erstellen.

Gehen Sie in Ihren neuen Ordner mit:

cd mywhale

und erstellen Sie eine Dockerfile in dem Ordner, indem Sie eingeben:

touch Dockerfile

Jetzt sollten Sie die leere Dockerfile sehen, die wir erstellt haben, wenn Sie den Befehl ‘ll’ eingeben:

ll
$ ll  
total 8.0K  
-rw-rw-r-- 1 user user 0 23:26 Dockerfile

Öffnen Sie es mit Ihrem bevorzugten Texteditor und fügen Sie hinzu:

FROM docker/whalesay:latest

Diese erste Anweisung mit dem FROM-Schlüsselwort sagt Docker, auf welchem Image Ihr Image basiert. Sie basieren Ihre neue Arbeit auf dem vorhandenen whalesay-Image.

Die nächste Anweisung, die wir hinzufügen werden, gibt unserem Wal die Fähigkeit, eine Vorhersage zu machen. Um diese Aufgabe zu erfüllen, verwenden wir das fortunes-Paket, das in den Ubuntu-Repositories verfügbar ist (denken Sie daran, dass das Wal-Image auf einem Ubuntu-Image basiert). Das fortunes-Programm hat einen Befehl, der weise Sprüche ausgibt, die unser Wal sagen kann.

Der erste Schritt besteht also darin, es zu installieren. Dazu fügen wir die übliche apt install-Anweisung hinzu:

RUN apt -y update && apt -y install fortunes

Sobald das Image die benötigte Software hat, weisen Sie der Software an, was beim Laden des Images ausgeführt werden soll. Dazu fügen wir die folgende Anweisung hinzu:

CMD /usr/games/fortune -a | cowsay

Die obige Zeile sagt dem fortunes-Programm, ein zufällig gewähltes Zitat an das cowsay-Programm zu senden.

Und wir sind fertig! Jetzt speichern Sie die Datei und beenden Sie.
Sie können überprüfen, was Sie getan haben, indem Sie “cat Dockerfile” ausführen, sodass Ihr Dockerfile so aussieht:

cat Dockerfile
FROM docker/whalesay:latest  
RUN apt-get -y update && apt-get install -y fortunes  
CMD /usr/games/fortune -a | cowsay

Jetzt, da alles (hoffentlich) gut aussieht, ist es Zeit, unser Docker-Image zu erstellen (vergessen Sie nicht den Punkt am Ende des Befehls).:

docker build -t my-docker-whale .

Der obige Befehl nimmt das Dockerfile im aktuellen Ordner und erstellt ein Image mit dem Namen “my-docker-whale” auf Ihrem lokalen Computer.

Sie können überprüfen, ob Ihr Docker-Image tatsächlich auf Ihrem Computer gespeichert ist, mit:

docker images

Dann können Sie Ihr Docker-Image ausführen, indem Sie Folgendes eingeben:

docker run my-docker-whale

Sobald es läuft, erhalten Sie etwas wie das folgende Bild

Das Docker-Wal-Image

Veröffentlichen Ihres benutzerdefinierten Docker-Images auf Docker Hub

Ihre nächste Option ist es, das erstellte Docker-Image im Docker Hub Repository zu veröffentlichen. Dazu müssen Sie ein Konto auf der Anmeldeseite von Docker Hub erstellen, auf der Sie einen Namen, ein Passwort und eine E-Mail-Adresse für Ihr Konto angeben. Ich sollte auch darauf hinweisen, dass der Docker Hub-Dienst für öffentliche Docker-Images kostenlos ist. Sobald Sie Ihr Konto erstellt haben, können Sie das Image, das Sie zuvor erstellt haben, pushen, um es anderen zur Verfügung zu stellen.

Dazu benötigen Sie die ID und das TAG Ihres “my-docker-whale”-Images.

Führen Sie erneut den Befehl “docker images” aus und notieren Sie die ID und das TAG Ihres Docker-Images, z.B. a69f3f5e1a31.

Jetzt werden wir mit dem folgenden Befehl unser Docker-Image für seine Reise in die Außenwelt vorbereiten (der Teil des Befehls mit dem Kontonamen ist Ihr Kontoname auf der Docker Hub-Profilseite):

docker tag a69f3f5e1a31 accountname/my-docker-whale:latest

Führen Sie den Befehl “docker images” aus und überprüfen Sie Ihr neu getaggtes Image.

Verwenden Sie als Nächstes den Befehl “docker login”, um sich von der Befehlszeile aus beim Docker Hub anzumelden.

Das Format für den Anmeldebefehl lautet:

docker login --username=yourhubusername [email protected]

Wenn Sie dazu aufgefordert werden, geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste.

Jetzt können Sie Ihr Image in das neu erstellte Repository pushen:

docker push accountname/my-docker-whale

Der obige Befehl kann je nach Upload-Bandbreite Ihrer Verbindung eine Weile dauern, da er etwa 180 MB Daten (in unserem Beispiel) hochlädt. Sobald es abgeschlossen ist, können Sie zu Ihrem Profil auf Docker Hub gehen und Ihr neues Image überprüfen.

Herunterladen Ihres benutzerdefinierten Images

Wenn Sie Ihr Image aus Ihrem Docker Hub-Repository abrufen möchten, müssen Sie zuerst das ursprüngliche Image von Ihrem lokalen Computer löschen, da Docker sich weigern würde, vom Hub herunterzuladen, da die lokalen und die entfernten Images identisch sind.

Wie Sie sich aus dem vorherigen Teil erinnern, müssen Sie zum Entfernen eines Docker-Images den Befehl “docker rmi” ausführen. Sie können eine ID oder den Namen verwenden, um ein Image zu entfernen:

docker rmi -f a69f3f5e1a31

Jetzt, da das Image gelöscht ist, können Sie das Image aus Ihrem Repository mit dem Befehl “docker run” abrufen und laden, indem Sie Ihren Kontonamen von Docker Hub angeben.

docker run accountname/my-docker-whale

Da wir das Image zuvor gelöscht haben und es nicht mehr auf unserem lokalen System verfügbar war, wird Docker es herunterladen und am vorgesehenen Ort speichern.

Zusammenfassung

In diesem Teil haben wir gelernt, wie man eine Docker-Datei erstellt, einige grundlegende Anweisungen schreibt und ein Image damit als Rezept erstellt. Wir haben auch die Grundlagen des Pushens unseres neuen benutzerdefinierten Images in das Docker Hub-Registry und des Pullens auf unseren lokalen Computer behandelt. Im nächsten Teil dieser Serie von Docker-Tutorials werde ich zeigen, wie wir den Image-Bauprozess automatisieren können, sodass wir jederzeit benutzerdefinierte Images sofort erstellen können, wenn wir sie benötigen! Bleiben Sie dran.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.