Skip to main content

Erstellen von Docker-Images

Docker-Images sind eine Sammlung von Software, Konfigurationsdateien und anderen Ressourcen, die zum Ausführen einer Anwendung oder eines Dienstes erforderlich sind. Sie können Docker-Images verwenden, um Anwendungen und Dienste in einem konsistenten und reproduzierbaren Format zu erstellen und zu bereitstellen.

Es gibt zwei Möglichkeiten, Docker-Images zu erstellen:

Mit einem Dockerfile: Ein Dockerfile ist eine Textdatei, die die Schritte beschreibt, die zum Erstellen eines Images erforderlich sind. Es enthält Anweisungen zum Herunterladen von Software, zum Kopieren von Dateien und zum Konfigurieren von Umgebungsvariablen. Manuell mit dem Befehl docker commit: Mit diesem Befehl können Sie ein Image aus einem laufenden Container erstellen. Erstellen eines Images mit einem Dockerfile

Um ein Image mit einem Dockerfile zu erstellen, erstellen Sie zunächst eine Textdatei mit der Endung .dockerfile. In dieser Datei geben Sie die folgenden Anweisungen ein:

Anweisung FROM

FROM ubuntu:latest

Anweisung RUN

RUN apt-get update && apt-get install -y nginx

Anweisung EXPOSE

EXPOSE 80

Anweisung CMD

CMD ["nginx", "-g", "daemon off;"]

Dieses Dockerfile basiert auf dem Ubuntu-Basisimage und installiert den nginx-Webserver. Es legt auch den Port 80 für den Webserver offen und startet den Webserver beim Starten des Images.

Nachdem Sie ein Dockerfile erstellt haben, können Sie es mit dem Befehl docker build in ein Image umwandeln. Führen Sie den folgenden Befehl aus, um das Image zu erstellen, das wir im Beispiel oben definiert haben:

docker build -t my-webserver . Dieser Befehl erstellt ein Image mit dem Namen my-webserver.

Erstellen eines Images manuell mit dem Befehl docker commit

Um ein Image manuell mit dem Befehl docker commit zu erstellen, starten Sie zunächst einen Container mit der Software, die Sie in Ihrem Image verwenden möchten. Führen Sie den folgenden Befehl aus, um einen Container mit dem nginx-Webserver zu starten:

docker run -d -p 80:80 nginx Dieser Befehl startet einen Container mit dem nginx-Webserver und bindet den Port 80 des Containers an den Port 80 des Hostsystems.

Sobald der Container gestartet ist, können Sie ihn mit dem Befehl docker commit in ein Image committen. Führen Sie den folgenden Befehl aus, um ein Image mit dem Namen my-webserver aus dem laufenden Container zu erstellen:

docker commit -m "My custom webserver"  my-webserver Dieser Befehl erstellt ein Image mit dem Namen my-webserver. Das Image enthält die Software, die im Container ausgeführt wird, sowie die Einstellungen des Containers.

Nach dem Erstellen eines Images

Nachdem Sie ein Image erstellt haben, können Sie es mit dem Befehl docker run starten. Führen Sie den folgenden Befehl aus, um das Image, das wir im Beispiel oben erstellt haben, zu starten:

docker run -p 80:80 my-webserver Dieser Befehl startet einen Container mit dem nginx-Webserver und bindet den Port 80 des Containers an den Port 80 des Hostsystems.

Sie können ein Image auch mit dem Befehl docker push in den Docker Hub hochladen. Dies ermöglicht es Ihnen, das Image mit anderen zu teilen.

Weitere Informationen

Weitere Informationen zum Erstellen von Docker-Images finden Sie in der Docker-Dokumentation: https://docs.docker.com/engine/reference/commandline/build/.