簡體   English   中英

如何使用 VisualStudio docker 調試器(launchSettings.json 配置文件)從 Docker 容器公開自定義端口 (TCP)?

[英]How to expose custom port (TCP) from Docker container using VisualStudio docker debugger (launchSettings.json profile)?

我希望能夠通過在 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將在使用此配置文件進行調試期間自動公開。

我想到了。 我仍然不確定是否可以通過 launchSettings.json,但至少這是對我有用的解決方案:

添加

<DockerfileRunArguments>-p 9999:9999</DockerfileRunArguments>

在 *.csproj 文件的 PropertyGroup 中,這些命令行參數將在啟動容器之前附加到 Docker RUN 命令。 我看到的唯一問題是現在我們在多個地方復制了端口號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM