Udostępnij za pośrednictwem


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 dla projektu pojedynczego kontenera.

Zrzut ekranu przedstawiający okno dialogowe uruchamiania profilu z ustawieniami uruchamiania dla profilu uruchamiania kontenera.

W obszarze Docker Compose wybierz pozycję Zarządzaj ustawieniami uruchamiania narzędzia Docker Compose i zobacz Uruchamianie podzbioru usług redagowania.

W launchSettings.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.

Właściwość w interfejsie użytkownika profilu debugowania Nazwa ustawienia w launchSettings.json Przykład opis
Command line arguments commandLineArgs "commandLineArgs": "--mysetting myvalue" Te argumenty wiersza polecenia do uruchamiania aplikacji są używane podczas uruchamiania projektu w kontenerze.
Argumenty uruchamiania kontenera containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" Dodatkowe argumenty do przekazania do docker run polecenia.

(Użyj małej litery w programie Visual Studio 17.12 lub nowszym. Wersja z wielką literą została wprowadzona w programie Visual Studio 17.9 i jest udostępniana w celu zapewnienia zgodności z poprzednimi wersjami).

Możesz użyć następujących tokenów zastępczych:

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

- {OutDir} - Wartość właściwości MSBuild OutDir.
Nie dotyczy DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Podobnie jak containerRunArguments, ale tylko w przypadku projektów korzystających z typu kompilacji Dockerfile. W przypadku programu Visual Studio 17.12 lub nowszego zaleca się zamiast tego użyć containerRunArguments polecenia .
Zmienne środowiskowe 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.
Nazwa kontenera containerName mycontainer (17.12 i nowsze) Nazwa kontenera pasującego do wyrażenia [a-zA-Z0-9][a-zA-Z0-9_.-]regularnego .
Pliki środowiska kontenera containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 i nowsze) Lista plików zmiennych środowiskowych (.env plików) rozdzielonych średnikami. Zobacz składnię pliku env.
Http Port httpPort "httpPort": 24051 Ten port na hoście jest mapowany na port 80 kontenera podczas uruchamiania kontenera.
Uruchamianie przeglądarki launchBrowser "launchBrowser": true Wskazuje, czy należy uruchomić przeglądarkę po pomyślnym uruchomieniu projektu.
Nie dotyczy launchBrowserTimeout "launchBrowserTimeout": 1 Maksymalny czas (w sekundach) oczekiwania na przygotowanie aplikacji przed uruchomieniem przeglądarki (tylko narzędzie Docker Compose).
Url 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.
Publikowanie wszystkich portów 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.
Ssl Port sslPort "sslPort": 44381 Ten port na hoście jest mapowany na port 443 kontenera podczas uruchamiania kontenera.
Nie dotyczy 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.

Nie wszystkie ustawienia są dostępne w interfejsie użytkownika, na przykład useSSL. Aby zmienić te ustawienia, edytuj launchSettings.json bezpośrednio.

Ustawienie DockerfileRunArguments jest zastępowane w programie Visual Studio 2022 w wersji 17.12 lub nowszej za pomocą containerRunArgumentspolecenia , które można ustawić w interfejsie użytkownika uruchom profile jako Container run arguments.

Uwaga

Jeśli to samo ustawienie zostanie znalezione zarówno w pliku projektu, jak i w pliku ustawień uruchamiania, pierwszeństwo ma wartość w pliku ustawień uruchamiania.

Następne kroki

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

Zobacz też