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

标签 .net visual-studio docker

我希望能够通过在 launchSettings.json 中指定 Docker 配置文件来调试 Visual Studio 中的 Docker 容器。但是,launchSettings.json 仅提供设置 httpPort 和 httpsPort 的选项(它们是从 80 和 443 到容器外自定义端口的映射)。
我有一个 TCP 服务器应用程序 (TCPListener),它监听自定义端口(比如 9999)。我想在调试期间将此端口暴露在容器之外。我可以以某种方式执行此操作(通过编辑 launchSettings.json 或其他一些配置),或者我坚持单独运行 Docker 镜像并以某种方式附加到它?

最佳答案

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

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

    }
以上配置会转发Host端口 54623 到 Docker 端口 5000 . Docker 端口 5000 将在使用此配置文件进行调试期间自动公开。

关于.net - 如何使用 VisualStudio docker 调试器(launchSettings.json 配置文件)从 Docker 容器公开自定义端口 (TCP)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64062408/

相关文章:

docker - docker-compose up 时出现 "Address already in use"错误

正确的面向对象技术的 c# 实践

visual-studio-2010 - 在Visual Studio中更改选定文本的文本颜色

visual-studio - 在 Azure Pipelines (CI) 中安装 Visual Studio 扩展 (.vsix)

python - 如何在错误 apache 服务器容器上修复 500 内部服务器

ubuntu - 在 Ubuntu docker 容器中设置 PATH 变量的正确方法

.net - [math]::round 的相同输入返回不同的结果

c# - 你可以在 c# 中的只读结构上设置默认参数吗?

c# - WCF SSL 配置可能错误

c++ - 为什么这段 C++ 代码会出现 "illegal token"编译时错误?