.NET Core docker launchSettings.json中的参数

.NET Core docker launchSettings.json中的参数,docker,asp.net-core,.net-core,Docker,Asp.net Core,.net Core,我正在编写一个ASP.NET核心应用程序,我有一个launchSettings.json文件,其中包含以下内容: { “iisSettings”:{ “Windows身份验证”:false, “匿名身份验证”:正确, “iisExpress”:{ “应用程序URL”:http://localhost:50251", “sslPort”:44349 } }, “概况”:{ “IIS Express”:{ “命令名”:“IISExpress”, “启动浏览器”:正确, “环境变量”:{ “ASPNE

我正在编写一个ASP.NET核心应用程序,我有一个
launchSettings.json
文件,其中包含以下内容:

{
“iisSettings”:{
“Windows身份验证”:false,
“匿名身份验证”:正确,
“iisExpress”:{
“应用程序URL”:http://localhost:50251",
“sslPort”:44349
}
},
“概况”:{
“IIS Express”:{
“命令名”:“IISExpress”,
“启动浏览器”:正确,
“环境变量”:{
“ASPNETCORE_环境”:“开发”
}
},
“AspNetDockerDemo”:{
“命令名”:“项目”,
“启动浏览器”:正确,
“环境变量”:{
“ASPNETCORE_环境”:“开发”
},
“应用程序URL”:https://localhost:5001;http://localhost:5000"
},
“码头工人”:{
“commandName”:“Docker”,
“启动浏览器”:正确,
“launchUrl:“{Scheme}://{ServiceHost}”
}
}
}

问题:占位符的替代位置在哪里?它们被替代的值在哪里?如果我想自己定义这些值,我必须做什么?

创建一个.env文件并分配Scheme和ServiceHost

Scheme=schemename
ServiceHost=localhost

由于您使用的是VisualStudio的Docker集成,您显然注意到它会随机为您选择端口映射

改变这种情况的一种方法是右键单击asp.net核心应用程序,选择
Add->Container Orchestration Support
。这将尝试重新生成Dockerfile和.dockerignore文件,如果您对现有文件进行了大量修改,您可能会拒绝执行此操作(注意:如果您进行了修改,则可能会导致以下说明出现其他问题)。它还将以几个yaml文件的形式为您生成一些docker compose设置

在我的例子中,我对它添加到项目中的docker-compose.override.yml文件感兴趣。开箱即用,它看起来像这样:

版本:“3.4”
服务:
coreapp:
环境:
-ASPNETCORE_环境=开发
端口:
- "80"
我们感兴趣的是
端口:=“80”
位。将其更改为
“:80”
,以指定要使用的端口:

版本:“3.4”
服务:
coreapp:
环境:
-ASPNETCORE_环境=开发
端口:
- "8080:80"

这并不能回答您的问题,但如果您的问题是因为希望在调试时像我一样使用一致的主机端口号,您可以通过向文件中添加
httpPort
sslPort
来实现这一点


发布一些代码可以让您的问题更清楚,也更可能得到准确的答案。感谢您的回答-实际上,
launchSettings.json
文件是VisualStudio配置执行环境的配置。因此没有处理这些数据的应用程序代码。问题是根据什么值设置/替换执行环境中的参数
Scheme
ServiceHost
。您的asp.net核心版本和vs版本是什么?我用asp.net内核和docker做了一个测试,但是,我没有看到这个用法。请与我们分享您知道的有关此用途的更多信息。我正在使用ASP.NET Core 2.1和Visual Studio 2017(版本15.8.5)。我不确定您所说的.env文件是什么意思。你能提供一个文档链接或更清晰的描述吗?如果你使用docker compose,根目录将有一个.env文件。好的,这需要更多的投票吗。这完全解决了我在尝试将应用程序与社交媒体登录(即:静态回调URL)集成时遇到的问题。@EricSondergard您是如何解决问题的?最终,我遇到了社交重定向,并尝试在本地调试it@Jean-保罗:是的。我不太记得确切的情况,但我会把我当时正在做的项目和你联系起来。希望你能找到你需要的。