Lösen Sie das Problem der Angabe der UDP-Portnummer im Docker

Lösen Sie das Problem der Angabe der UDP-Portnummer im Docker

Wenn Docker einen Container startet, gibt es den Zugriffsport an. Sie können mehrere Portzuordnungen über mehrere -p-Optionen angeben.

UDP verfügt im Hintergrund über eine eigene Portnummer, die sich von der vom Dienst aufgerufenen Portnummer unterscheidet. Zu diesem Zeitpunkt müssen Sie diese beim Starten des Dienstes angeben.

wie:

docker run -p 8080:8090 -p 10000:11000/udp aaa:latest

8080 ist die vom Dienst selbst bereitgestellte Portnummer und 8090 ist die Portnummer des Dienstes selbst. 10000 ist die von UDP freigegebene Portnummer und 11000 ist der von UDP selbst überwachte Port. Wenn es UDP ist, geben Sie es bitte genau an.

Ergänzendes Wissen: Das Projekt im Docker-Container hört UDP ab und kann keine Nachrichten empfangen

Wenn wir einen Container generieren und ausführen, müssen wir den externen Expositionsport konfigurieren. Wenn UDP verwendet wird, müssen wir den UDP-Port auch separat angeben.

1.udp-Absender (IP xxxxxx Port: 9200)

Erstellen Sie eine Docker-Datei im aktuellen Verzeichnis und verwenden Sie sie zum Generieren des Images „docker build -t image name“. (Beachten Sie, dass der letzte Punkt nicht fehlen darf, er bedeutet „Verzeichnis“)

Führen Sie das generierte Image aus. Docker run -tid --name Containername -p 19008:8080 --restart=always Imagename

Hinweis: Der Absender muss den Port nicht offenlegen. Es versteht sich, dass der Absender den Port der Maschine nicht verwenden muss. Beim Senden enthalten die Informationen lediglich die IP und den Port des Zielhosts.

2.UDP-Empfangsende

Erstellen Sie ein Dockerfile im aktuellen Verzeichnis und verwenden Sie es, um das Image „docker build -t image name“ zu generieren. (Dasselbe wie oben)

Führen Sie das generierte Image aus: docker run -tid --name container name -p 19008:8080 -p 9200:9200/udp --restart=always image name

Hinweis: Das empfangende Ende muss den Port freigeben. Es ist verständlich, dass das empfangende Ende den Port des lokalen Computers abhören muss, der entsprechende Port des Hostcomputers jedoch nicht im Container abgehört werden kann. Beispielsweise entsprechen die in 1 gesendeten UDP-Informationen dem Host-Port 9200, aber wenn das empfangende UDP im Container in 2 den Host-Port 9200 abhören möchte, muss es die 9200 im Container der 9200 des Hosts zuordnen.

Ergebnis: Nach der obigen Konfiguration wurde die UDP-Nachricht erfolgreich empfangen

Der obige Artikel zur Lösung des Problems der Angabe der UDP-Portnummer in Docker ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Lösung für mehrere Docker-Container, die nicht die gleiche Portnummer haben
  • Raspberry Pi-Serie: Verwenden von Docker zum Installieren des Qinglong-Panels und Ändern der Konfigurationsprobleme bei der Portnummer

<<:  Anwendung der MapState-Idee in Vuex

>>:  html+css+js zur Realisierung der Funktion der Fotovorschau und des Bildhochladens

Artikel empfehlen

Vue implementiert Beispielcode für Links- und Rechtsgleiteffekte

Vorwort Die bei der persönlichen tatsächlichen En...

So lösen Sie das Problem des Randkollapses in CSS

Betrachten wir zunächst drei Situationen, in dene...

Beispiele für die Verwendung temporärer Tabellen in MySQL

Ich war in den letzten beiden Tagen etwas beschäf...

LINUX Prüft, ob der Port belegt ist

Ich konnte nie herausfinden, ob der Port belegt i...

CSS3 realisiert den roten Umschlag-Shaking-Effekt

Es besteht die Anforderung, den Schütteleffekt de...

So lösen Sie das Problem der hohen Parallelität in der MySQL-Datenbank

Vorwort Wir alle wissen, dass Startups zunächst m...

js zum Hochladen von Bildern auf den Server

In diesem Artikelbeispiel wird der spezifische Co...

Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

Hintergrund Kürzlich habe ich während eines Onlin...

33 der besten kostenlosen englischen Schriftarten geteilt

ChunkFive Freie Schriftfamilie Cuprum JAH I Kosten...

Die Implementierung der Ereignisbindung in React verweist auf drei Methoden

1. Pfeilfunktion 1. Nutzen Sie die Tatsache, dass...

Tutorial zur Installation von MySQL auf Alibaba Cloud Centos 7.5

Es scheint, dass die MySQL-Server-Datei zur norma...