Impostazioni di avvio di Strumenti contenitore
Nella cartella Proprietà di un progetto ASP.NET Core è possibile trovare il launchSettings.json
file contenente le impostazioni che controllano il modo in cui l'app Web viene avviata nel computer di sviluppo. Per informazioni dettagliate sull'uso di questo file nello sviluppo ASP.NET, vedere Usare più ambienti in ASP.NET Core.
È possibile modificare direttamente questo file, ma nell'IDE di Visual Studio è anche possibile modificare le proprietà in questo file tramite l'interfaccia utente. Scegliere l'elenco a discesa accanto all'opzione di avvio (ad esempio, Docker
o .NET SDK
) e quindi scegliere Proprietà di debug per un progetto a contenitore singolo.
Per Docker Compose scegliere Gestisci impostazioni di avvio di Docker Compose e vedere Avviare un subset di servizi compose.
In launchSettings.json le impostazioni nella sezione Docker sono correlate al modo in cui Visual Studio gestisce le app in contenitori.
"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
}
L'impostazione commandName identifica che questa sezione si applica a Strumenti contenitore.
La maggior parte delle impostazioni in launchSettings.json
è disponibile e applicabile se si usa un Dockerfile o si usa il supporto predefinito per la compilazione di contenitori di .NET SDK (disponibile per .NET 7 e versioni successive).
La tabella seguente illustra le proprietà che è possibile impostare in questa sezione:
Nome impostazione | Esempio | Descrizione |
---|---|---|
commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Questi argomenti della riga di comando per l'avvio dell'app vengono usati durante l'avvio del progetto nel contenitore. |
DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Argomenti aggiuntivi da passare al docker run comando. |
environmentVariables | "environmentVariables": { "ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"'' } |
Questi valori delle variabili di ambiente vengono passati al processo quando viene avviato nel contenitore. |
httpPort | "httpPort": 24051 |
Questa porta nell'host viene mappata alla porta 80 del contenitore all'avvio del contenitore. |
launchBrowser | "launchBrowser": true |
Indica se avviare il browser dopo l'avvio corretto del progetto. |
launchBrowserTimeout | "launchBrowserTimeout": 1 |
Quantità massima di tempo (in secondi) di attesa prima dell'avvio del browser da parte dell'app. |
launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Questo URL viene usato durante l'avvio del browser. I token di sostituzione supportati per questa stringa sono: - {Scheme} - Sostituito con http o https a seconda che venga usato SSL. - {ServiceHost} - In genere sostituito con localhost . Quando si usano contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con l'INDIRIZZO IP del contenitore. - {ServicePort} - In genere sostituito con sslPort o httpPort , a seconda che venga usato SSL. Quando hai come destinazione contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con 443 o 80 , a seconda che venga usato SSL. |
sslPort | "sslPort": 44381 |
Questa porta nell'host viene mappata alla porta 443 del contenitore quando si avvia il contenitore. |
useSSL | "useSSL": true |
Indica se usare SSL durante l'avvio del progetto. Se useSSL non viene specificato, ssl viene usato quando sslPort > 0 . |
Nota
Se le stesse impostazioni, ad esempio , DockerfileRunArguments
vengono trovate sia nel file di progetto che nel file delle impostazioni di avvio, il valore nel file delle impostazioni di avvio ha la precedenza.
Proprietà nell'interfaccia utente del profilo di debug | Nome dell'impostazione in launchSettings.json | Esempio | Descrizione |
---|---|---|---|
Command line arguments | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Questi argomenti della riga di comando per l'avvio dell'app vengono usati durante l'avvio del progetto nel contenitore. |
Argomenti di esecuzione del contenitore | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Argomenti aggiuntivi da passare al docker run comando. Usare la versione minuscola in Visual Studio 17.12 e versioni successive. La versione maiuscola è stata introdotta in Visual Studio 17.9 e viene fornita per la compatibilità con le versioni precedenti. È possibile usare i token di sostituzione seguenti: - {ProjectDir} - Percorso completo della directory del progetto. - {OutDir} - Valore della proprietà MSBuild OutDir. |
N/D | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Come containerRunArguments , ma solo per i progetti che usano il tipo di compilazione Dockerfile. Per Visual Studio 17.12 e versioni successive, è consigliabile usare containerRunArguments invece . |
Variabili di ambiente | environmentVariables | "environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80" , "ASPNETCORE_HTTPS_PORT": "44381" } |
Questi valori delle variabili di ambiente vengono passati al processo quando viene avviato nel contenitore. |
Nome contenitore | containerName | mycontainer |
(17.12 e versioni successive) Nome del contenitore corrispondente all'espressione [a-zA-Z0-9][a-zA-Z0-9_.-] regolare . |
File di ambiente contenitore | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 e versioni successive) Elenco di file di variabili di ambiente (.env file) separati da punti e virgola. Vedere sintassi del file con estensione env. |
Porta HTTP | httpPort | "httpPort": 24051 |
Questa porta nell'host viene mappata alla porta 80 del contenitore all'avvio del contenitore. |
Avviare il browser | launchBrowser | "launchBrowser": true |
Indica se avviare il browser dopo l'avvio corretto del progetto. |
N/D | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Quantità massima di tempo (in secondi) di attesa prima che l'app sia pronta prima di avviare il browser (solo Docker Compose). |
Url | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Questo URL viene usato durante l'avvio del browser. I token di sostituzione supportati per questa stringa sono: - {Scheme} - Sostituito con http o https , a seconda che venga usato SSL. - {ServiceHost} - In genere sostituito con localhost . Quando si usano contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con l'INDIRIZZO IP del contenitore. - {ServicePort} - In genere sostituito con sslPort o httpPort, a seconda che venga usato SSL. Quando hai come destinazione contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con 443 o 80 , a seconda che venga usato SSL. |
Pubblicare tutte le porte | publishAllPorts | "publishAllPorts": true |
Se true, passare -P a docker run , che pubblica tutte le porte esposte in una porta casuale. Vedere la documentazione di Docker. Tuttavia, quando si specifica sslPort , Visual Studio passa -p 5002:443 ancora , quindi il servizio deve comunque essere in ascolto sulla porta 5002. |
Porta SSL | sslPort | "sslPort": 44381 |
Questa porta nell'host viene mappata alla porta 443 del contenitore quando si avvia il contenitore. |
N/D | useSSL | "useSSL": true |
Indica se usare SSL durante l'avvio del progetto. Se useSSL non viene specificato, ssl viene usato quando sslPort > 0 . |
Non tutte le impostazioni sono disponibili nell'interfaccia utente, useSSL
ad esempio . Per modificare queste impostazioni, modificare launchSettings.json
direttamente.
L'impostazione DockerfileRunArguments
viene sostituita in Visual Studio 2022 17.12 e versioni successive da containerRunArguments
, che può essere impostata nell'interfaccia utente dei profili di avvio come Container run arguments
.
Nota
Se la stessa impostazione viene trovata sia nel file di progetto che nel file delle impostazioni di avvio, il valore nel file delle impostazioni di avvio ha la precedenza.
Passaggi successivi
Configurare il progetto impostando le proprietà di compilazione di Strumenti contenitore.