[英]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.