如何使用 VisualStudio docker 调试器(launchSettings.json 配置文件)从 Docker 容器公开自定义端口 (TCP)?

Ewa*_*der 4 .net visual-studio docker

我希望能够通过在 launchSettings.json 中指定 Docker 配置文件来调试 Visual Studio 中的 docker 容器。但是,launchSettings.json 仅提供设置 httpPort 和 httpsPort 的选项(它们是从 80 和 443 到容器外部自定义端口的映射)。

我有一个 TCP 服务器应用程序 (TCPListener),它侦听自定义端口(比方说,9999)。我想在调试期间将该端口公开到容器外部。我可以以某种方式做到这一点(通过编辑 launchSettings.json 或其他一些配置)还是我只能单独运行 Docker 映像并以某种方式附加到它?

Eli*_*yah 5

现在这是可能的。在“launchSettings.json”中,添加具有以下属性的“Docker”配置文件。例如;

"Docker": {
      "commandName": "Docker",
      "httpPort": 54623, 
      "environmentVariables": {
        "ASPNETCORE_URLS": "http://+:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
      }

    }
Run Code Online (Sandbox Code Playgroud)

上述配置会将主机端口54623转发到 Docker 端口5000。在使用此配置文件进行调试期间, Docker 端口5000将自动公开。