2

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

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

当我实际上想要转发 1117/udp 时,它似乎只转发 1117/tcp。

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

4

2 回答 2

2

文档对于用于带有forwardPorts标签的暴露端口的协议有点模糊:

转发端口

  • 大批
  • 应从容器内部转发到本地计算机的端口数组。

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

码头工人撰写:

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

devcontainers.json:

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

在你的情况下:

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

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

于 2021-08-31T19:57:15.517 回答
2

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

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

因此,尝试将其添加到您的配置文件中并且应该可以工作。

参考资料:docker网络

于 2022-01-09T14:17:05.457 回答