.NET核心docker launchSettings.json中的参数

Dan*_*iel 6 docker .net-core asp.net-core

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

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:50251",
      "sslPort": 44349
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "AspNetDockerDemo": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:5001;http://localhost:5000"
    },
    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问:{ }占位符在哪里被取代,在哪里定义了替换它们的值?如果我想自己定义这些值,该怎么办?

bvo*_*elr 11

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

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

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

version: '3.4'

services:
  coreapp:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "80"
Run Code Online (Sandbox Code Playgroud)

ports: = "80"位是我们感兴趣。将其更改"<your desired port>:80"为指定要使用的端口:

version: '3.4'

services:
  coreapp:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "8080:80"
Run Code Online (Sandbox Code Playgroud)

  • 天哪,这需要更多的支持吗?这完全解决了我尝试将应用程序与社交媒体登录(即:静态回调 URL)集成的问题。 (3认同)

ada*_*101 10

这不能回答您的问题,但是如果您问是因为您在像我一样调试时需要一致的主机端口号,您可以通过在launchSettings.json文件中添加httpPortsslPort来实现。

在此处输入图片说明

  • “httpPort”和“sslPort”将分别将指定的主机端口映射到容器的端口“80”和“443”。 (2认同)

pri*_*sar 0

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

Scheme=schemename
ServiceHost=localhost
Run Code Online (Sandbox Code Playgroud)

  • 我不确定 .env 文件是什么意思。您能否提供文档链接或更清晰的描述? (4认同)