如何在Docker上发布UDP端口?


Answers:


220

使用-p标志并将/udp后缀添加到端口号。

-p 53160:53160/udp

全指令

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

如果在Mac上运行boot2docker,请确保将boot2docker上的相同端口转发到本地计算机。

您还可以使用中的EXPOSE记录您的容器需要接收UDP 的信息Dockerfile(EXPOSE不会发布端口):

EXPOSE 8285/udp

这是容器文档中包含更多Docker网络信息的链接:https : //docs.docker.com/config/containers/container-networking/ (在评论中由Old Pro提供)


3
(rant)官方文件中根本没有地方,哇。“ -p = []:将容器的端口或一系列端口发布为主机格式:ip:hostPort:containerPort | ip :: containerPort | hostPort:containerPort | containerPort”。尽管官方示例提到了“ -p 1234-1236:1234-1236 / tcp”,但整个页面上都没有匹配“ udp”或“ protocol”的内容。
亚历山大·贡奇

@AlexanderGonchiy不要为docker run的文档辩解,但是Container Networking文档中涵盖了公开它所引用的端口的常规格式。
旧版专业游戏

2
公开只应该是端口/协议,而不是像您发布工作那样的端口对。而Exposure不会发布端口,也不需要发布端口,它是文档。
BMitch
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.