如何使用VisualStudio Docker调试器(launchSettings.json概要文件)从Docker容器



我希望能够通过在launchSettings.json中指定docker配置文件来调试Visual Studio中的docker容器。但是,launchSettingsjson只提供了设置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"
}
}

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

我想明白了。我仍然不确定是否可以通过launchSettings.json实现,但至少这是适用于我的解决方案:

添加

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

对于*.csproj文件的PropertyGroup,在启动容器之前,这些命令行参数将附加到Docker RUN命令。我看到的唯一问题是,现在我们的端口号在多个地方重复。

最新更新