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

时间:2018-09-21 13:53:09

标签: docker asp.net-core .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}"
    }
  }
}

问题:{ }占位符在何处进行了细分,在哪里定义了替换它们的值?如果我想自己定义这些值,该怎么办?

3 个答案:

答案 0 :(得分:4)

这不能回答您的问题,但是如果您要进行调试是因为您想要像我一样在调试时想要一致的主机端口号,则可以通过在{上添加httpPortsslPort来做到这一点。 {3}}文件。

launchSettings.json

答案 1 :(得分:0)

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

Scheme=schemename
ServiceHost=localhost

答案 2 :(得分:0)

由于您使用的是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"

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

version: '3.4'

services:
  coreapp:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "8080:80"