【问题标题】:How do I publish a UDP Port on Docker?如何在 Docker 上发布 UDP 端口?
【发布时间】:2015-02-20 04:21:34
【问题描述】:

如何将 UDP 端口从我的 Docker 容器转发到主机?

【问题讨论】:

    标签: docker udp


    【解决方案1】:

    只是想我会参与 docker-compose 配置。

    ports:
      - "9955:9955/udp"
    

    【讨论】:

      【解决方案2】:

      使用 -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 上的相同端口转发到您的本地计算机。

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

      EXPOSE 8285/udp
      

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

      【讨论】:

      • (咆哮)在官方文档中根本没有,哇。 "-p=[] : 发布一个容器端口或一系列端口到主机格式:ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort"。虽然官方例子中提到了“-p 1234-1236:1234-1236/tcp”,但整体上没有匹配到“udp”或“protocol”page
      • @AlexanderGonchiy 不要原谅 docker run 的文档,但Container Networking 文档中介绍了公开端口的一般格式。
      • Expose 应该只是端口/原型,而不是像你有工作发布那样的端口对。而且expose不发布端口,也不需要发布端口,它是文档。
      猜你喜欢
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多