Wie veröffentliche ich einen UDP-Port auf Docker?


139

Wie leite ich einen UDP-Port von meinem Docker-Container an den Host-Computer weiter?

Antworten:


220

Verwenden Sie das Flag -p und fügen Sie /udpder Portnummer das Suffix hinzu .

-p 53160:53160/udp

Voller Befehl

sudo docker run -p 53160:53160 \
    -p 53160:53160/udp -p 58846:58846 \ 
    -p 8112:8112 -t -i aostanin/deluge /start.sh

Wenn Sie boot2docker auf einem Mac ausführen, müssen Sie dieselben Ports auf boot2docker an Ihren lokalen Computer weiterleiten.

Sie können auch SETZEN einen Port in a Dockerfile:

EXPOSE 8285/udp

Hier ist ein Link mit weiteren Informationen zu Docker Networking, die in den Container-Dokumenten behandelt werden: https://docs.docker.com/config/containers/container-networking/ (mit freundlicher Genehmigung von Old Pro in den Kommentaren)


3
(schimpfen) Buchstäblich nirgends in der offiziellen Dokumentation, wow. "-p = []: Veröffentlichen Sie den Port eines Containers oder eine Reihe von Ports im Host-Format: ip: hostPort: containerPort | ip :: containerPort | hostPort: containerPort | containerPort". Obwohl im offiziellen Beispiel "-p 1234-1236: 1234-1236 / tcp" erwähnt wird, gibt es auf der gesamten Seite keine Übereinstimmungen für "udp" oder "protocol" .
Alexander Gonchiy

@AlexanderGonchiy Um die Dokumentation für den Docker-Lauf nicht zu entschuldigen, wird das allgemeine Format für die Offenlegung der Ports, auf die es sich bezieht, in der Dokumentation zum Containernetzwerk behandelt .
Old Pro

1
Expose sollte nur der Port / Proto sein, kein Port-Paar, wie Sie es bei der Arbeit veröffentlichen. Und exponieren veröffentlicht den Port nicht und wird nicht benötigt, um den Port zu veröffentlichen, es ist Dokumentation.
BMitch
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.