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.
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 DockerfileRunArguments
te 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 run elementu , który publikuje wszystkie uwidocznione porty na losowym porcie. Zobacz dokumentację platformy Docker. Jednak po określeniu parametru sslPort program Visual Studio nadal przekazuje -p 5002:443 wartość , 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ą containerRunArguments
polecenia , 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.