0

当 dll 从远程 VSCode 的调试器启动时,我无法从主机访问容器化的 .NET 服务。

我可以访问服务

  • 使用 dotnet 命令手动运行 dll 时从主机
  • 手动运行 dll 或使用 VSCode 调试器时从容器(使用 curl)

示例存储库:https ://github.com/matrumz/stackoverflow-devcontainers-ports-debug

手动运行时可以从主机访问

手动运行时可以从主机访问

使用 VSCode 调试器启动时的结果

听5000 curl 在容器中工作 从主机访问失败

4

1 回答 1

0

使用dotnet命令启动程序时,应用程序会侦听http://[::]:80,但调试器会侦听http://localhost:5000

上帝知道我这样做会破坏什么,但正在改变

    "stackoverflow_devcontainers_ports_debug": {
...   
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
...
    }

    "stackoverflow_devcontainers_ports_debug": {
...   
      "applicationUrl": "https://localhost:5001;http://0.0.0.0:5000",
...
    }

解决了这个问题(现在只在 HTTP 上工作)。

如果有人想教育我为什么这有效,我全神贯注。在那之前:我将继续通过复制已经有效的东西来解决问题!

于 2019-07-11T23:37:24.867 回答