Параметры запуска инструментов для работы с контейнерами

В папке "Свойства" в проекте ASP.NET Core можно найти launchSettings.json файл, содержащий параметры, управляющие запуском веб-приложения на компьютере разработки. Подробные сведения об использовании этого файла при разработке проектов ASP.NET см. в статье Использование нескольких сред в ASP.NET Core.

Этот файл можно редактировать напрямую, но в интегрированной среде разработки Visual Studio можно также изменять свойства в этом файле с помощью пользовательского интерфейса. Выберите раскрывающийся список рядом с параметром запуска (например, Docker или .NET SDK), а затем выберите "Свойства отладки".

В файле launchSettings.json параметры в разделе Docker определяют то, как Visual Studio работает с контейнерными приложениями.

    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "DockerfileRunArguments": "-l mylabel=value",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80",
        "ASPNETCORE_HTTPS_PORT": "44360"
      },
      "httpPort": 51803,
      "useSSL": true,
      "sslPort": 44360
    }

Параметр commandName указывает, что этот раздел относится к инструментам для работы с контейнерами.

Большинство параметров доступны launchSettings.json и применимы, независимо от того, используете ли вы Dockerfile или используете встроенную поддержку сборки контейнеров пакета SDK для .NET (доступно для .NET 7 и более поздних версий).

В таблице ниже приведены свойства, которые можно задать в этом разделе.

Имя настройки Пример Description
commandLineArgs "commandLineArgs": "--mysetting myvalue" Эти аргументы командной строки используются при запуске проекта в контейнере.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Дополнительные аргументы для передачи команде docker run .
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"'
}
Эти значения переменной среды передаются процессу при запуске в контейнере.
httpPort "httpPort": 24051 Этот порт узла сопоставляется с портом 80 контейнера при запуске контейнера.
launchBrowser "launchBrowser": true Указывает, следует ли запускать браузер после успешного запуска проекта.
launchBrowserTimeout "launchBrowserTimeout": 1 Максимальная продолжительность ожидания готовности приложения перед запуском браузера (в секундах).
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Этот URL-адрес используется при запуске браузера. Поддерживаемые маркеры замены для этой строки:

- {Scheme} — заменено либо httphttps в зависимости от того, используется ли SSL.

- {ServiceHost} — Обычно заменено localhostна .
При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера.

- {ServicePort} — Обычно заменяется sslPorthttpPortлибо в зависимости от того, используется ли SSL.
Если вы используете контейнеры Windows в Windows 10 RS3 или более ранних версий, оно заменено либо 44380в зависимости от того, используется ли SSL.
sslPort "sslPort": 44381 Этот порт узла сопоставляется с портом 443 контейнера при запуске контейнера.
useSSL "useSSL": true Указывает, следует ли использовать протокол SSL при запуске проекта. Если useSSL этот параметр не указан, при использовании SSL используется sslPort > 0.

Примечание.

Если те же параметры, например, находятся как в файле проекта, DockerfileRunArgumentsтак и в файле параметров запуска, значение в файле параметров запуска имеет приоритет.

Имя настройки Пример Description
commandLineArgs "commandLineArgs": "--mysetting myvalue" Эти аргументы командной строки используются при запуске проекта в контейнере.
containerRunArguments "containerRunArguments": "-l mylabel=value" Например dockerfileRunArguments, но для использования с типом сборки контейнера пакета SDK для .NET.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Дополнительные аргументы для передачи команде docker run .
/
Этот параметр применяется только к проектам, используюющим тип сборки контейнера Dockerfile.

В Visual Studio 17.3 и более поздних версий можно использовать следующие маркеры замены:

- {ProjectDir} — Полный путь к каталогу проекта.

- {OutDir} — Значение свойства MSBuild OutDir.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Эти значения переменной среды передаются процессу при запуске в контейнере.
httpPort "httpPort": 24051 Этот порт узла сопоставляется с портом 80 контейнера при запуске контейнера.
launchBrowser "launchBrowser": true Указывает, следует ли запускать браузер после успешного запуска проекта.
launchBrowserTimeout "launchBrowserTimeout": 1 Максимальная продолжительность ожидания готовности приложения перед запуском браузера (в секундах).
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Этот URL-адрес используется при запуске браузера. Поддерживаемые маркеры замены для этой строки:

- {Scheme} — заменено httphttpsлибо в зависимости от того, используется ли SSL.

- {ServiceHost} — Обычно заменено localhostна .
При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера.

- {ServicePort} — Обычно заменяется sslPort или httpPort в зависимости от того, используется ли SSL.
Если вы используете контейнеры Windows в Windows 10 RS3 или более ранних версий, оно заменено либо 44380в зависимости от того, используется ли SSL.
publishAllPorts "publishAllPorts": true Если задано значение true, передайте -Pdocker runв нее все предоставленные порты. См. документацию Docker. Однако при указании sslPort Visual Studio все равно передает -p 5002:443, поэтому служба по-прежнему должна ожидать передачи данных на порту 5002.
sslPort "sslPort": 44381 Этот порт узла сопоставляется с портом 443 контейнера при запуске контейнера.
useSSL "useSSL": true Указывает, следует ли использовать протокол SSL при запуске проекта. Если useSSL этот параметр не указан, при использовании SSL используется sslPort > 0.

Примечание.

Если те же параметры, например, находятся как в файле проекта, DockerfileRunArgumentsтак и в файле параметров запуска, значение в файле параметров запуска имеет приоритет.

Следующие шаги

Настройте проект, задав свойства сборки с помощью инструментов для работы с контейнерами.

См. также