Detaillierte Erklärung des Unterschieds zwischen Docker-Compose-Ports und Expose

Detaillierte Erklärung des Unterschieds zwischen Docker-Compose-Ports und Expose

Es gibt zwei Möglichkeiten, Container-Ports in Docker-Compose verfügbar zu machen: Ports und Expose.

Häfen

Ports stellt den Container-Port jedem beliebigen Port oder angegebenen Port des Hosts zur Verfügung. Verwendung:

Häfen:
 
- "80:80" # Binden Sie den Port 80 des Containers an den Port 80 des Hosts - "9000:8080" # Binden Sie den Port 8080 des Containers an den Port 9000 des Hosts - "443" # Binden Sie den Port 443 des Containers an einen beliebigen Port auf dem Host. Die gebundene Host-Portnummer wird beim Start des Containers zufällig zugewiesen

Durch die Verwendung von Ports wird der Port dem Host zugänglich gemacht, unabhängig davon, ob der Host-Port angegeben ist oder nicht.

Einige Netzwerkanwendungen können im Container ausgeführt werden. Um diese Anwendungen für die Außenwelt zugänglich zu machen, können Sie die Portzuordnung mit den Parametern -P (Großbuchstaben) oder -p (Kleinbuchstaben) angeben.

(1) Wenn das Flag -P verwendet wird, ordnet Docker dem im Container geöffneten Netzwerkport zufällig einen Port zwischen 49000 und 49900 zu.

Mithilfe von Docker PS können Sie sehen, dass Port 49155 des lokalen Hosts dem Port 5000 des Containers zugeordnet ist. Greifen Sie jetzt auf Port 49155 des lokalen Computers zu, um auf die von der Webanwendung im Container bereitgestellte Schnittstelle zuzugreifen.

$ sudo docker run -d -P training/webapp python app.py
 
$ sudo docker ps -l
 
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
 
bc533791f3f5 training/webapp:latest python app.py vor 5 Sekunden Up 2 Sekunden 0.0.0.0:49155->5000/tcp nostalgic_morse

In ähnlicher Weise können Sie den Befehl „Docker Logs“ verwenden, um Anwendungsinformationen anzuzeigen.

$ sudo docker logs -f nostalgic_morse
 
* Läuft auf http://0.0.0.0:5000/
 
10.0.2.2 - - [23/Mai/2014 20:16:31] "GET / HTTP/1.1" 200 -
 
10.0.2.2 - - [23. Mai 2014 20:16:31] "GET /favicon.ico HTTP/1.1" 404 - 

(2) Mit -p (Kleinbuchstabe) können die IP und der Port angegeben werden, die zugeordnet werden sollen. An einen angegebenen Port kann jedoch nur ein Container gebunden werden. Die unterstützten Formate sind hostPort:containerPort, ip:hostPort:containerPort, ip::containerPort.

exponieren

Stellen Sie den Container dem Container zur Verfügung, der mit dem aktuellen Container verknüpft ist. Verwendung:

exponieren:
- "3000"
- "8000"

Die obigen Anweisungen stellen die Ports 3000 und 8000 des aktuellen Containers für den mit diesem Container verknüpften Container bereit.

Der Unterschied zu Ports besteht darin, dass „Expose“ den Port nicht dem Host zugänglich macht.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detailliertes Tutorial zur Docker-Compose-Bereitstellung und Konfiguration von Jenkins
  • Docker erstellt ein benutzerdefiniertes Netzwerk, um eine feste Container-IP-Adresse zu erhalten
  • So verwenden Sie Docker-Compose zum Erstellen eines ELK-Clusters
  • Detaillierte Installation und Verwendung von Docker-Compose
  • Erläuterung der Docker Compose-Netzwerkeinstellungen
  • So führen Sie MySQL mit Docker-Compose aus
  • Zwei einfachste Möglichkeiten zur Installation von Docker-Compose
  • Lösung für das Timeout-Problem bei der Installation von Docker-Compose mit PIP

<<:  Ausnahmefehler beim Packen von Webpack-Dateien

>>:  Detaillierte Erläuterung der geplanten MySQL-Aufgaben (Ereignisereignisse)

Artikel empfehlen

10 Tipps zur Website-Benutzerfreundlichkeit, die jeder kennen sollte

Lassen Sie uns keine weitere Zeit verschwenden un...

MySQL-Trigger: ausführliche Erklärung und einfaches Beispiel

Einfaches Beispiel für einen MySQL-Trigger Gramma...

HTML css js implementiert Tab-Seite Beispielcode

Code kopieren Der Code lautet wie folgt: <html...

Zusammenfassung der MySQL-Ansichtsprinzipien und Anwendungsbeispiele

Dieser Artikel fasst die Prinzipien und die Verwe...

Unterschiede und Vergleiche von Speicher-Engines in MySQL

MyISAM-Speicher-Engine MyISAM basiert auf der ISA...

jQuery zum Erzielen eines gleitenden Treppeneffekts

In diesem Artikel wird der spezifische Code von j...

Analyse der allgemeinen Konfigurationsmethoden für virtuelle Hosts von Apache

1. Installation und Konfiguration des Apache-Serv...

MySQL-Hochverfügbarkeitslösung MMM (MySQL Multi-Master-Replikationsmanager)

1. Einführung in MMM: MMM steht für Multi-Master ...

Installieren Sie das Linux-System automatisch basierend auf Cobbler

1. Komponenten installieren yum install epel-rpm-...