Параметры запуска инструментов для работы с контейнерами
В папке "Свойства" в проекте 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} — заменено либо http https в зависимости от того, используется ли SSL. - {ServiceHost} — Обычно заменено localhost на . При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера. - {ServicePort} — Обычно заменяется sslPort httpPort либо в зависимости от того, используется ли SSL. Если вы используете контейнеры Windows в Windows 10 RS3 или более ранних версий, оно заменено либо 443 80 в зависимости от того, используется ли 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} — заменено http https либо в зависимости от того, используется ли SSL. - {ServiceHost} — Обычно заменено localhost на . При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера. - {ServicePort} — Обычно заменяется sslPort или httpPort в зависимости от того, используется ли SSL. Если вы используете контейнеры Windows в Windows 10 RS3 или более ранних версий, оно заменено либо 443 80 в зависимости от того, используется ли SSL. |
publishAllPorts | "publishAllPorts": true |
Если задано значение true, передайте -P docker run в нее все предоставленные порты. См. документацию Docker. Однако при указании sslPort Visual Studio все равно передает -p 5002:443 , поэтому служба по-прежнему должна ожидать передачи данных на порту 5002. |
sslPort | "sslPort": 44381 |
Этот порт узла сопоставляется с портом 443 контейнера при запуске контейнера. |
useSSL | "useSSL": true |
Указывает, следует ли использовать протокол SSL при запуске проекта. Если useSSL этот параметр не указан, при использовании SSL используется sslPort > 0 . |
Примечание.
Если те же параметры, например, находятся как в файле проекта, DockerfileRunArguments
так и в файле параметров запуска, значение в файле параметров запуска имеет приоритет.
Следующие шаги
Настройте проект, задав свойства сборки с помощью инструментов для работы с контейнерами.