如何从 devcontainer 转发 UDP 端口?

How to forward a UDP port from a devcontainer?

我正在尝试将来自 Microsoft (https://github.com/microsoft/vscode-dev-containers/tree/main/containers/javascript-node-mongo/.devcontainer) 的“Node.js & Mongo DB”devcontainer 与我在 Nodejs 中制作的 udp 服务器一起使用。

问题如下:当我尝试转发 devcontainer.json 示例中的端口时:"forwardPorts": [1117].

其实我想转发1117/udp的时候好像只转发了1117/tcp

我正在努力为这个项目工作:https://github.com/QuentinGruber/h1z1-server/blob/master/.devcontainer/devcontainer.json

documentation 关于用于带有 forwardPorts 标签的暴露端口的协议有点模糊:

forwardPorts

  • array
  • An array of ports that should be forwarded from inside the container to the local machine.

因此,我建议尝试使用旧的 appPort 标签,因为当我查看 here 时,它说他们正在使用 docker-compose 语法,这意味着您可以像这样指定端口和协议:

docker-撰写:

ports:
- "3000"
- "8921:5000"

devcontainers.json:

"appPort": [ 3000, "8921:5000" ]

在你的情况下:

"appPort": [ "1117:1117/udp" ]

根据 docs,当您想要访问应用程序(或公开端口)时,使用 appPort 标签也很有用 localhost

按照文档,您可以使用此行转发 udp 协议

docker run -p 53160:53160/udp docker/getting-started

所以尝试将其添加到您的配置文件中,应该可以。

参考文献:docker network