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.