Docker stellt Containern dynamisch Ports zur Verfügung

Docker stellt Containern dynamisch Ports zur Verfügung

Zeigen Sie die IP-Adresse des Containers an

docker inspect <Containername oder ID>| grep IP-Adresse

Den zugeordneten Port des Containers anzeigen

Docker-Port <Containername oder ID>
z.B.
Docker-Port d8dac7399647
Docker-Port HFQ-Jedi-ZXF-Eden

Verwenden Sie iptables, um die Containerzuordnung anzuzeigen

iptables -t nat -nvL

iptables -t nat -nvL --Zeilennummer

Beispiel für das Hinzufügen einer neuen Portzuordnung

##Ordnen Sie Host-Port 31101 dem Container-Port 6379 zu.

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 31101 -j DNAT --zum-Ziel 192.168.42.2:6379

Iptables-Regeln speichern

iptables-speichern

veranschaulichen

192.168.42.2 ist das Ergebnis von Docker Inspect <Containername oder ID> | grep IPAddress

Nachdem die Portzuordnung abgeschlossen ist, kann das Ergebnis nicht über den Docker-Port d8dac7399647 abgefragt werden

Kann sein

iptables -t nat -nvL | grep 192.168.42.2

Abfragezuordnungsbeziehung

Zusatzwissen: Mechanismen in der Docker-Container-Kommunikation und Port-Expositionsprobleme

Die Link-Methode wurde immer für die Kommunikation zwischen Docker-Containern verwendet. Dies begrenzt die Reihenfolge, in der jeder Container gestartet wird, was sich immer unflexibel anfühlt. Daher haben wir dieses Mal den direkten Zugriff auf Container über das von der eigenen Netzwerkkarte des Dockers zugewiesene LAN untersucht.

Docker-Port-Freigabe bedeutet, den Port-Dienst des Containers selbst über die Weiterleitung der Docker0-Netzwerkkarte an den freigegebenen Port weiterzuleiten. Dies kann beispielsweise durch Ausführen von Folgendem geschehen:

docker run -dit -p 8080:12345 --name=Containername Imagename

Verwenden Sie beim Zugriff über das von der Netzwerkkarte Docker0 zugewiesene lokale Netzwerk 172.17.0.x Port 12345. Wenn Sie 192.168.1.x oder eine andere lokale öffentliche IP für den Zugriff verwenden, müssen Sie 8080 für den Zugriff verwenden

Da die Zeit begrenzt ist, werde ich es vorerst nicht im Detail analysieren. Ich werde es mit Bildern analysieren, wenn ich Zeit habe.

Der obige Artikel über Docker, das Ports dynamisch für Container verfügbar macht, ist alles, was ich mit Ihnen teilen kann. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Sprechen Sie über das Problem des Ersetzens von Docker (Shim) durch Containerd in Kubernetes1.20
  • So führen Sie den Betrieb nach dem Verlassen des Docker-Containers weiter aus
  • Docker entfernt abnormale Containervorgänge
  • Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd
  • Löschen Sie den Image-Vorgang von „none“ in Docker-Images
  • Durchführung der lokalen Migration von Docker-Images
  • Lösen Sie das Problem verschwindender Docker-Images
  • Docker-Image kann nicht gelöscht werden. Fehler: Kein solches Image: xxxxxx-Lösung
  • So löschen Sie ein Image in Docker
  • Benennen von Containern und Images in Docker

<<:  Detaillierte Erklärung der Vue-Mixin-Verwendung und des Zusammenführens von Optionen

>>:  Ändern Sie die MySQL-Datenbank-Engine in InnoDB

Artikel empfehlen

Die „3I“-Standards für erfolgreiche Printwerbung

Für viele inländische Werbetreibende ist die Erste...

Detaillierte Erklärung des Rewrite-Moduls von Nginx

Das Umschreibmodul ist das Modul ngx_http_rewrite...

Einige Details zu MySQL-Indizes

Vor ein paar Tagen stellte mir ein Kollege eine F...

Select unterstützt kein Doppelklick-DBClick-Ereignis

XML/HTML-CodeInhalt in die Zwischenablage kopiere...

MySQL 8.x MSI-Version Installations-Tutorial mit Bildern und Text

1. MySQL herunterladen Offizielle Website-Downloa...

Detaillierte Schritte zur Installation von Anaconda unter Linux (Ubuntu 18.04)

Anaconda ist die beliebteste Python-Plattform für...

Codeanalyse synchroner und asynchroner SetState-Probleme in React

React entstand als internes Projekt bei Facebook....

Beispiel für die Implementierung einer To-Do-Anwendung mit Vue

Hintergrund Zunächst möchte ich sagen, dass ich k...

Lösen Sie das Problem des MySQL-Datenverlusts, wenn Docker Redis neu startet

Amtliche Dokumentation: Daher sollte MySQL wie fo...

Erklärung zur Verwendung von „Ersetzen“ und „Ersetzen in“ in MySQL

„Replace“ und „Replace into“ von MySQL sind beide...

Zusammenfassung verschiedener Übermittlungsmethoden für HTML-Formulare

Die gebräuchlichste, am häufigsten verwendete und ...

Zusammenfassung der wichtigsten Docker-Befehle für Entwickler

Inhaltsverzeichnis Einführung in Docker Installat...

Einführung in die SSL- und WSS-Schritte für die Nginx-Konfiguration

Inhaltsverzeichnis Vorwort 1. Nginx-Installation ...