So führen Sie einen Docker-Container basierend auf einem benutzerdefinierten Image aus

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Docker ist eine beliebte Containerisierungsplattform, die es Entwicklern ermöglicht, Anwendungen in einer konsistenten und isolierten Umgebung zu verpacken und bereitzustellen. In diesem Tutorial lernen Sie, wie Sie ein benutzerdefiniertes Docker-Image erstellen und einen Docker-Container basierend auf diesem Image ausführen. Am Ende dieses Leitfadens haben Sie ein fundiertes Verständnis des Prozesses zur Erstellung, Verwaltung und Ausführung von Docker-Containern für Ihre Anwendungen.

Docker-Container verstehen

Docker ist eine beliebte Open-Source-Plattform, die Entwicklern ermöglicht, Anwendungen in einer containerisierten Umgebung zu erstellen, bereitzustellen und auszuführen. Container sind leichte, eigenständige und ausführbare Softwarepakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird, einschließlich Code, Laufzeitumgebung, Systemtools und Bibliotheken.

Was ist ein Docker-Container?

Ein Docker-Container ist eine standardisierte Softwareeinheit, die Code und alle Abhängigkeiten so verpackt, dass die Anwendung schnell und zuverlässig von einer Computerebene zur anderen läuft. Container werden aus Docker-Images erstellt, die die Blaupausen für die Erstellung von Containern darstellen.

graph LR A[Docker Image] --> B[Docker Container] B[Docker Container] --> C[Ausgeführte Anwendung]

Vorteile von Docker-Containern

Docker-Container bieten gegenüber herkömmlichen Virtualisierungsansätzen mehrere Vorteile:

Vorteil Beschreibung
Portabilität Container können unabhängig von der zugrunde liegenden Infrastruktur konsistent auf jedem Rechner ausgeführt werden.
Effizienz Container teilen das Host-Betriebssystem, wodurch sie leichter und effizienter als virtuelle Maschinen sind.
Konsistenz Container gewährleisten, dass Anwendungen immer gleich ausgeführt werden, unabhängig von der Umgebung.
Skalierbarkeit Container lassen sich leicht skalieren, um den sich ändernden Anforderungen gerecht zu werden.

Lebenszyklus eines Docker-Containers

Der Lebenszyklus eines Docker-Containers umfasst die folgenden Phasen:

  1. Erstellung: Erstellen eines Docker-Images aus einer Dockerfile.
  2. Versand: Speichern des Docker-Images in einem Registry, wie Docker Hub.
  3. Ausführung: Starten eines neuen Containers aus einem Docker-Image.
  4. Verwaltung: Überwachung, Skalierung und Wartung laufender Container.

Mit dem Verständnis der Grundlagen von Docker-Containern können Sie nun mit der Erstellung eines benutzerdefinierten Docker-Images fortfahren.

Erstellen eines benutzerdefinierten Docker-Images

Um ein benutzerdefiniertes Docker-Image zu erstellen, müssen Sie eine Dockerfile erstellen. Dies ist eine Textdatei, die Anweisungen zum Erstellen des Images enthält.

Erstellen einer Dockerfile

Hier ist ein Beispiel für eine Dockerfile, die ein benutzerdefiniertes Image basierend auf dem Ubuntu 22.04-Basis-Image erstellt und den Apache-Webserver installiert:

## Verwenden Sie das Ubuntu 22.04-Basis-Image
FROM ubuntu:22.04

## Aktualisieren Sie das Paketindex und installieren Sie Apache
RUN apt-get update && apt-get install -y apache2

## Legen Sie den Standardbefehl fest, der beim Start des Containers ausgeführt werden soll
CMD ["apache2ctl", "-D", "FOREGROUND"]

Erstellen des Docker-Images

Um das Docker-Image aus der Dockerfile zu erstellen, führen Sie den folgenden Befehl im selben Verzeichnis wie die Dockerfile aus:

docker build -t my-apache-image .

Dieser Befehl erstellt ein neues Docker-Image mit dem Namen my-apache-image basierend auf den Anweisungen in der Dockerfile.

Überprüfen des Docker-Images

Nach dem Erstellen des Images können Sie alle Images auf Ihrem System mit folgendem Befehl auflisten:

docker images

Dies zeigt Ihnen die Liste der Docker-Images, einschließlich des gerade erstellten my-apache-image.

Sie können auch die Details des Images mit folgendem Befehl überprüfen:

docker inspect my-apache-image

Dies zeigt die Metadaten und Konfiguration des Docker-Images an.

Nun, da Sie ein benutzerdefiniertes Docker-Image haben, können Sie fortfahren und einen Container basierend auf diesem Image ausführen.

Ausführen eines Docker-Containers aus einem benutzerdefinierten Image

Nachdem Sie ein benutzerdefiniertes Docker-Image erstellt haben, können Sie einen Container basierend auf diesem Image ausführen.

Starten eines Docker-Containers

Um einen neuen Container aus dem Image my-apache-image zu starten, verwenden Sie den folgenden Befehl:

docker run -d -p 80:80 --name my-apache-container my-apache-image

Hier ist die Funktion jedes Teils des Befehls:

  • docker run: Startet einen neuen Docker-Container.
  • -d: Führt den Container im detachierten Modus aus, d. h. er läuft im Hintergrund.
  • -p 80:80: Mapt Port 80 des Hosts auf Port 80 im Container, sodass Sie auf den Webserver vom Host aus zugreifen können.
  • --name my-apache-container: Weist dem laufenden Container den Namen "my-apache-container" zu.
  • my-apache-image: Der Name des Docker-Images, das für den Container verwendet werden soll.

Überprüfen des laufenden Containers

Nach dem Starten des Containers können Sie überprüfen, ob er läuft, indem Sie die folgenden Befehle verwenden:

## Liste aller laufenden Container
docker ps

## Inspektion des Containers
docker inspect my-apache-container

Der Befehl docker ps zeigt Ihnen die Liste der laufenden Container, einschließlich des gerade gestarteten my-apache-container.

Der Befehl docker inspect liefert detaillierte Informationen über den laufenden Container, einschließlich seiner IP-Adresse, Port-Mappings und anderer Konfigurationsdetails.

Zugriff auf den Webserver

Sobald der Container läuft, können Sie auf den Apache-Webserver zugreifen, indem Sie einen Webbrowser öffnen und zu http://localhost navigieren. Sie sollten die Standard-Apache-Startseite sehen.

Durch das Verständnis, wie man einen Docker-Container basierend auf einem benutzerdefinierten Image ausführt, können Sie nun Ihre eigenen Anwendungen in einer containerisierten Umgebung bereitstellen.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie man ein benutzerdefiniertes Docker-Image erstellt und einen Docker-Container basierend auf diesem Image ausführt. Sie haben die Schritte zum Erstellen eines Docker-Images erkundet, einschließlich des Schreibens einer Dockerfile und des Buildens des Images. Darüber hinaus haben Sie gelernt, wie man einen Docker-Container mit dem benutzerdefinierten Image ausführt, den Lebenszyklus des Containers verwaltet und auf den laufenden Container zugreift. Mit diesen Fähigkeiten können Sie nun Ihre Anwendungen sicher verpacken und mit Docker-Containern bereitstellen.