如何从 devcontainer 转发 UDP 端口?

Qgr*_*ber 3 docker dockerfile docker-compose visual-studio-code vscode-devcontainer

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

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

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

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

Noa*_*eli 8

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

转发端口

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

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

docker-撰写:

ports:
- "3000"
- "8921:5000"
Run Code Online (Sandbox Code Playgroud)

devcontainers.json:

"appPort": [ 3000, "8921:5000" ]
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

"appPort": [ "1117:1117/udp" ]
Run Code Online (Sandbox Code Playgroud)

根据文档appPort当您想要访问应用程序(或公开端口)不仅仅是localhost