Verwenden Sie Docker Compose, um mit mehreren Containern zu arbeiten

Verwenden Sie Docker Compose Um Mit Mehreren Containern Zu Arbeiten



Docker Compose ist ein beliebtes Tool, das mit der Docker-Plattform zum Verwalten und Ausführen von Multi-Container-Anwendungen zusammenarbeitet. Es verwendet die YAML-Datei, um die Multi-Container-Anwendungen oder Microservices in Containern zu konfigurieren. Darüber hinaus ermöglicht uns Docker Compose die Verwaltung mehrerer Containerausgaben auf demselben Port und unterstützt auch die Skalierung einer Anwendung oder eines beliebigen Dienstes.

Dieser Beitrag zeigt, wie Docker Compose verwendet wird, um mit Multi-Containern zu beginnen.

Wie verwende ich Docker Compose, um mit mehreren Containern zu arbeiten?

Die Verwendung von Docker Compose zum Verwalten und Ausführen mehrerer Containeranwendungen ist die beste Lösung, da es vielseitiger ist und verschiedene Funktionen bietet, z. B. das Verwalten von Containern auf demselben Port, das Replizieren von Diensten oder ganzen Anwendungen, das Zuweisen eindeutiger Ports zu einzelnen Diensten und vieles mehr .







Befolgen Sie die angegebenen Anweisungen, um Docker Compose zu verwenden, um mit der Arbeit mit mehreren Containern oder Microservices zu beginnen.



Schritt 1: Geben Sie die Multi-Container-Anwendung an



Erstellen Sie zunächst die Multi-Container-Anwendung. Beispielsweise haben wir eine HTML-Anwendung erstellt, die zwei verschiedene HTML-Dateien ausführt: „ index.html ' Und ' index1.html “:





Schritt 2: Dockerfile erstellen



Erstellen Sie ein Dockerfile, um das HTML-Programm anzudocken. Dazu containerisieren wir die „ index.html ' Programm:

VON nginx:neueste
COPY index.html /usr/share/nginx/html/index.html
EINSTIEGSPUNKT ['nginx', '-g', 'Daemon aus;']

Notiz: Sie können das Dockerfile auch für ein anderes Programm angeben. Beispielsweise verwenden wir das Docker-Image, um den zweiten Dienst oder das zweite Programm anzugeben. Navigieren Sie zu unserem zugehörigen Artikel um ein Docker-Image zu erstellen, um das Programm zu containerisieren.

Schritt 3: Compose-Datei erstellen

Erstellen Sie als Nächstes eine Compose-Datei mit dem Namen „ docker-compose.yml ”-Datei und konfigurieren Sie die Multi-Container-Anwendung mithilfe der folgenden Anweisungen:

  • Dienstleistungen “ wird verwendet, um mehrere Dienste in einer Compose-Datei zu konfigurieren. Beispielsweise haben wir das „ Netz ' Und ' web1 ' Dienstleistungen.
  • bauen “ wird verwendet, um den Build-Kontext oder Dockerfile zu definieren, um den Dienst zu containerisieren. Dazu nutzen wir die „ dockerfile ” Dockerdatei.
  • Häfen “ definiert die exponierten Ports des Containers.
  • Bilder ” Schlüssel wird verwendet, um das Docker-Image anzugeben, um den Dienst zu containerisieren. Hier für die „ web1 ”-Dienst haben wir das Docker-Image anstelle von Dockerfile verwendet, um den Dienst zu containerisieren:
Version: '3'
Dienstleistungen:
Netz:
bauen:
Dockerdatei: index.dockerfile
Häfen:
-80:80
web1:
Bild: HTML-Bild
Häfen:
-80

Schritt 4: Container erstellen und starten

Befeuern oder starten Sie den Container mit „ docker-compose up ' Befehl:

docker-compose up

Schritt 5: Überprüfung

Listen Sie zur Überprüfung die Composing-Dienste auf:

docker-compose ps

Hier sieht man „ Netz „Dienst wird auf Port ausgeführt“ 80 ' Und ' web1 ' läuft auf ' 57151 “:

Navigieren Sie alternativ zum zugewiesenen Port von localhost und prüfen Sie, ob die Anwendung ausgeführt wird oder nicht:

Hier geht es darum, wie Docker Compose verwendet wird, um mit Multi-Containern zu arbeiten.

Abschluss

Um Docker Compose für die Arbeit mit Multi-Container-Anwendungen zu nutzen, erstellen Sie zunächst eine Multi-Container-Anwendung und containerisieren Sie sie in Dockerfile oder in Form eines Images. Machen Sie danach ein „ docker-compose.yml ”-Datei zum Konfigurieren der Multi-Container-Anwendung in Docker compose. Starten Sie danach die Container in Docker compose, indem Sie das „ docker-compose up ' Befehl. Dieser Artikel hat gezeigt, wie Docker Compose verwendet werden kann, um mit Multi-Container-Anwendungen zu arbeiten.