Ustawienia uruchamiania narzędzi kontenera

W folderze Properties w projekcie ASP.NET Core można znaleźć launchSettings.json plik zawierający ustawienia kontrolujące sposób uruchamiania aplikacji internetowej na komputerze deweloperskim. Aby uzyskać szczegółowe informacje na temat sposobu używania tego pliku w programowaniu ASP.NET, zobacz Używanie wielu środowisk w programie ASP.NET Core.

Ten plik można edytować bezpośrednio, ale w środowisku IDE programu Visual Studio można również edytować właściwości w tym pliku za pomocą interfejsu użytkownika. Wybierz listę rozwijaną obok opcji uruchamiania (na przykład Docker lub .NET SDK), a następnie wybierz pozycję Właściwości debugowania.

Podczas uruchamiania Ustawienia.json ustawienia w sekcji Platformy Docker są powiązane ze sposobem obsługi konteneryzowanych aplikacji przez program 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
    }

Ustawienie commandName identyfikuje, że ta sekcja ma zastosowanie do narzędzi kontenera.

Większość ustawień w programie launchSettings.json jest dostępna i ma zastosowanie niezależnie od tego, czy używasz pliku Dockerfile, czy wbudowanej obsługi kompilacji kontenera zestawu .NET SDK (dostępnej dla platformy .NET 7 lub nowszej).

W poniższej tabeli przedstawiono właściwości, które można ustawić w tej sekcji:

Nazwa ustawienia Przykład opis
commandLineArgs "commandLineArgs": "--mysetting myvalue" Te argumenty wiersza polecenia do uruchamiania aplikacji są używane podczas uruchamiania projektu w kontenerze.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Dodatkowe argumenty do przekazania do docker run polecenia.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"'
}
Te wartości zmiennych środowiskowych są przekazywane do procesu po uruchomieniu w kontenerze.
httpPort "httpPort": 24051 Ten port na hoście jest mapowany na port 80 kontenera podczas uruchamiania kontenera.
launchBrowser "launchBrowser": true Wskazuje, czy należy uruchomić przeglądarkę po pomyślnym uruchomieniu projektu.
launchBrowserTimeout "launchBrowserTimeout": 1 Maksymalny czas (w sekundach) oczekiwania na przygotowanie aplikacji przed uruchomieniem przeglądarki.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Ten adres URL jest używany podczas uruchamiania przeglądarki. Obsługiwane tokeny zastępcze dla tego ciągu to:

- {Scheme} — Zastąpione ciągiem http lub https w zależności od tego, czy jest używany protokół SSL.

- {ServiceHost} — Zwykle zastąpione ciągiem localhost.
Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany adresem IP kontenera.

- {ServicePort} — Zwykle zastąpione ciągiem sslPort lub httpPort, w zależności od tego, czy jest używany protokół SSL.
Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany ciągiem 443 lub 80, w zależności od tego, czy jest używany protokół SSL.
sslPort "sslPort": 44381 Ten port na hoście jest mapowany na port 443 kontenera podczas uruchamiania kontenera.
useSSL "useSSL": true Wskazuje, czy podczas uruchamiania projektu należy używać protokołu SSL. Jeśli useSSL nie zostanie określony, protokół SSL jest używany w przypadku sslPort > 0.

Uwaga

Jeśli na przykład DockerfileRunArgumentste same ustawienia znajdują się zarówno w pliku projektu, jak i w pliku ustawień uruchamiania, wartość w pliku ustawień uruchamiania ma pierwszeństwo.

Nazwa ustawienia Przykład opis
commandLineArgs "commandLineArgs": "--mysetting myvalue" Te argumenty wiersza polecenia do uruchamiania aplikacji są używane podczas uruchamiania projektu w kontenerze.
containerRunArguments "containerRunArguments": "-l mylabel=value" Podobnie jak dockerfileRunArguments, ale do użycia z typem kompilacji kontenera zestawu SDK platformy .NET.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Dodatkowe argumenty do przekazania do docker run polecenia.
/
To ustawienie dotyczy tylko projektów korzystających z typu kompilacji kontenera Dockerfile.

W programie Visual Studio 17.3 lub nowszym można użyć następujących dodanych tokenów zastępczych:

- {ProjectDir} - Pełna ścieżka do katalogu projektu.

- {OutDir} - Wartość właściwości MSBuild OutDir.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Te wartości zmiennych środowiskowych są przekazywane do procesu po uruchomieniu w kontenerze.
httpPort "httpPort": 24051 Ten port na hoście jest mapowany na port 80 kontenera podczas uruchamiania kontenera.
launchBrowser "launchBrowser": true Wskazuje, czy należy uruchomić przeglądarkę po pomyślnym uruchomieniu projektu.
launchBrowserTimeout "launchBrowserTimeout": 1 Maksymalny czas (w sekundach) oczekiwania na przygotowanie aplikacji przed uruchomieniem przeglądarki.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Ten adres URL jest używany podczas uruchamiania przeglądarki. Obsługiwane tokeny zastępcze dla tego ciągu to:

- {Scheme} — Zastąpiono elementem http lub https, w zależności od tego, czy jest używany protokół SSL.

- {ServiceHost} — Zwykle zastąpione ciągiem localhost.
Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany adresem IP kontenera.

- {ServicePort} — Zwykle zastąpiono ciągiem sslPort lub httpPort, w zależności od tego, czy jest używany protokół SSL.
Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany ciągiem 443 lub 80, w zależności od tego, czy jest używany protokół SSL.
publishAllPorts "publishAllPorts": true Jeśli wartość true, przekaż -P element do docker runelementu , który publikuje wszystkie uwidocznione porty na losowym porcie. Zobacz dokumentację platformy Docker. Jednak po określeniu parametru sslPortprogram Visual Studio nadal przekazuje -p 5002:443wartość , więc usługa powinna nadal nasłuchiwać na porcie 5002.
sslPort "sslPort": 44381 Ten port na hoście jest mapowany na port 443 kontenera podczas uruchamiania kontenera.
useSSL "useSSL": true Wskazuje, czy podczas uruchamiania projektu należy używać protokołu SSL. Jeśli useSSL nie zostanie określony, protokół SSL jest używany w przypadku sslPort > 0.

Uwaga

Jeśli na przykład DockerfileRunArgumentste same ustawienia znajdują się zarówno w pliku projektu, jak i w pliku ustawień uruchamiania, wartość w pliku ustawień uruchamiania ma pierwszeństwo.

Następne kroki

Skonfiguruj projekt, ustawiając właściwości kompilacji narzędzia Container Tools.

Zobacz też