Unterschied zwischen Expose und Ports in Docker Compose

Unterschied zwischen Expose und Ports in Docker Compose
Docker Compose ist eine Kernkomponente von Docker, die häufig verwendet wird, um die Anwendung auf mehreren Containern zu konfigurieren. Docker-Compose wird hauptsächlich verwendet, um die Dienste von Containern in der “zu konfigurierenYaml" Datei. In der Servicekonfiguration werden verschiedene Schlüssel verwendet. “exponieren" Und "Häfen”Werden speziell verwendet, um den exponierenden Port für Container anzugeben.

In dieser Beschreibung wird der Unterschied zwischen den Ports erläutert und den Schlüssel in Docker Compose enthüllen.

Unterschied zwischen Expose und Ports in Docker Compose

Der "exponieren" Und "HäfenTasten in Docker Compose werden verwendet, um das Netzwerk und die exponierenden Ports für den Container zu konfigurieren. Beide Tasten werden jedoch für denselben Zweck verwendet, aber der Schlüsselunterschied zwischen den „Ports“ und „Expose“ besteht darin, dass der Expose -Schlüssel für die Dienste zugänglich ist, die mit demselben Netzwerk verbunden sind, jedoch nicht auf dem Host. Im Gegensatz dazu sind Ports zugänglich und auf dem Host sowie im verbundenen Netzwerk veröffentlicht.

Überprüfen Sie den Unterschied zwischen "Expose" und "Ports" -Tasten in Docker-Compose praktisch

Um den Unterschied zwischen Expose- und Portsschlüssel praktisch zu überprüfen, gehen Sie die aufgelisteten Beispiele durch:

  • Nutzen “HäfenSchlüssel in der Docker-Compose-Datei
  • Nutzen “exponierenSchlüssel in der Docker-Compose-Datei

Beispiel 1: Verwenden Sie den Schlüssel "Ports" in der Docker-Compose-Datei

Der "HäfenDer Schlüssel wird verwendet, um den Container auf dem Host -Computer zu veröffentlichen. Diese Container sind für alle Dienste zugänglich, die auch auf dem Host in einem vernetzten Netzwerk ausgestellt werden.

Um den Schlüssel „Ports“ in Docker Compose zu verwenden, lesen Sie die angegebenen Anweisungen.

Schritt 1: Erstellen Sie eine „Docker-Compose.YML ”

Mach ein "Docker-Compose.YMLDatei und fügen Sie den folgenden Codeblock in die Datei ein:

Version: "3"
Dienstleistungen:
Netz:
Bild: Nginx: Neueste
Häfen:
- 8080: 80

Nach dem obigen Snippet:

  • Netz"Service ist in der" konfiguriert "Docker-Compose.YML" Datei.
  • Bild”Definiert das Basisbild für den Container Compose Container
  • Häfen”Geben Sie den exponierenden Port des Containers in einem Netzwerk und Host an:

Schritt 2: Behälter starten

Erstellen und starten Sie als nächstes den Kompose -Container mit Hilfe von “Docker-Compose Up" Befehl:

> Docker -compose up -d

Schritt 3: LISTE COMPOSE Container

Listen Sie den Container auf und überprüfen Sie den exponierenden Port des Containers. Aus der Ausgabe kann beobachten, dass wir den Container auf dem Host veröffentlicht haben:

> Docker-Compose PS

Beispiel 2: Verwenden Sie den Schlüssel in der Docker-Compose-Datei "Expose"

Nutzen Sie den Expose -Schlüssel in der “Docker-Compose.YMLDatei, schauen Sie sich die angegebenen Anweisungen an.

Schritt 1: Erstellen Sie eine „Docker-Compose.YML ”

Konfigurieren Sie nun die “Netz"Service zum Aufdecken von Port 80 mit Hilfe der"exponieren" Taste. Hier haben wir kein Netzwerk für den Container definiert:

Version: "3"
Dienstleistungen:
Netz:
Bild: Nginx: Neueste
exponieren:
- 8080: 80

Schritt 2: Starten Sie den Behälter auf

Erstellen und starten Sie als Nächstes den Container -Container und starten Sie den Webdienst mit dem angegebenen Befehl aus:

> Docker -compose up -d

Schritt 3: LISTE COMPOSE Container

Listen Sie den Container komponieren und überprüfen Sie den exponierenden Port des Containers. In der folgenden Ausgabe können Sie feststellen, dass der Container nur auf Port 80 in einem Standard -ausgewählten Netzwerk, jedoch nicht auf Host: nicht auf dem Host: zugänglich ist:

> Docker-Compose PS

Wir haben die Unterscheidung von "definiert"exponieren" Und "HäfenTasten in Docker komponieren.

Abschluss

Der "exponieren" Und "Häfen”Werden beide verwendet, um den exponierenden Port des Containers für die Ausführung definierter Dienste anzugeben. Der Hauptunterschied zwischen diesen beiden Schlüssel besteht darin, dass „Ports“ auf dem Host -Computer und auch im angegebenen Netzwerk veröffentlicht und zugänglich ist, während „Expose“ nur im definierten Netzwerk veröffentlicht wird und von Diensten zugegriffen wird, die im selben Netzwerk ausgeführt werden. Diese Beschreibung hat die Unterscheidung zwischen "Ports" und "Expose" in Docker Compose gezeigt.