Configurare Visual Studio Container Tools
Usando le impostazioni di Visual Studio, è possibile controllare alcuni aspetti del funzionamento di Visual Studio con i contenitori Docker, incluse le impostazioni che influiscono sull'utilizzo delle prestazioni e delle risorse quando si usano contenitori Docker.
Impostazioni degli strumenti contenitore
Dal menu principale scegliere Strumenti > Opzioni ed espandere Strumenti contenitore > Impostazioni. Vengono visualizzate le impostazioni degli strumenti contenitore.
Impostazioni generali degli strumenti contenitore:
Impostazioni progetto singolo e Docker Compose di Strumenti contenitore:
La tabella seguente può essere utile per decidere come impostare queste opzioni.
Nella tabella seguente vengono descritte le impostazioni generali :
Nome | Impostazione predefinita | Si applica a | Descrizione |
---|---|---|---|
Installare Docker Desktop, se necessario | Richiedi conferma | Singolo progetto, Docker Compose | Scegliere se richiedere se Docker Desktop non è installato. |
Considera attendibile ASP.NET certificato SSL core | Richiedi conferma | progetti ASP.NET Core 2.x | Se impostato su Richiedi conferma, se il localhost certificato SSL non è attendibile, Visual Studio richiederà ogni volta che si esegue un progetto ASP.NET Core 2.x. |
La tabella seguente descrive le impostazioni di Progetto singolo e Docker Compose :
Nome | Impostazione predefinita | Si applica a | Descrizione |
---|---|---|---|
Eseguire il pull delle immagini Docker necessarie all'apertura del progetto | Vero | Singolo progetto, Docker Compose | Per ottenere migliori prestazioni durante il caricamento dei progetti, Visual Studio avvierà un'operazione di pull automatico di Docker in modo che quando si è pronti per eseguire il codice l'immagine sia già stata scaricata o in fase di download. Se si caricano solo progetti e si esplora il codice, è possibile impostare su False per evitare di scaricare immagini del contenitore non necessarie. |
Eseguire il pull delle immagini Docker aggiornate all'apertura del progetto | Progetti .NET Core | Singolo progetto, Docker Compose | Quando si apre un progetto, verificare la disponibilità di aggiornamenti alle immagini e scaricare se disponibili. |
Eseguire contenitori all'apertura del progetto | Vero | Singolo progetto, Docker Compose | Anche in questo caso per migliorare le prestazioni, Visual Studio crea un contenitore in anticipo in modo che sia pronto per la compilazione e l'esecuzione del contenitore. Se si vuole controllare quando viene creato il contenitore, impostare su False. |
Rimuovere i contenitori alla chiusura del progetto | Vero | Singolo progetto, Docker Compose | Impostare su False se si desidera conservare i contenitori per la soluzione dopo la chiusura della soluzione o la chiusura di Visual Studio. |
Nome | Impostazione predefinita | Si applica a | Descrizione |
---|---|---|---|
Eseguire il pull delle immagini Docker necessarie all'apertura del progetto | Vero | Singolo progetto, Docker Compose | Per ottenere migliori prestazioni durante il caricamento dei progetti, Visual Studio avvierà un'operazione di pull automatico di Docker in modo che quando si è pronti per eseguire il codice l'immagine sia già stata scaricata o in fase di download. Se si caricano solo progetti e si esplora il codice, è possibile impostare su False per evitare di scaricare immagini del contenitore non necessarie. |
Eseguire il pull delle immagini Docker aggiornate all'apertura del progetto | Progetti .NET Core | Singolo progetto, Docker Compose | Quando si apre un progetto, verificare la disponibilità di aggiornamenti alle immagini e scaricare se disponibili. |
Eseguire contenitori all'apertura del progetto | Vero | Singolo progetto, Docker Compose | Anche in questo caso per migliorare le prestazioni, Visual Studio crea un contenitore in anticipo in modo che sia pronto per la compilazione e l'esecuzione del contenitore. Se si vuole controllare quando viene creato il contenitore, impostare su False. |
Rimuovere i contenitori alla chiusura del progetto | Vero | Singolo progetto, Docker Compose | Impostare su False se si desidera conservare i contenitori per la soluzione dopo la chiusura della soluzione o la chiusura di Visual Studio. |
Eseguire un servizio in contenitori per abilitare l'autenticazione di Azure | Vero | Singolo progetto, Docker Compose | Visual Studio versione 17.6 o successiva esegue un servizio proxy di token nel contenitore che supporta l'autenticazione di Azure, in modo che le app possano usare i servizi di Azure durante lo sviluppo. Impostare su False se non si vuole che questo servizio venga installato ed eseguito. |
Eseguire un servizio nei contenitori per abilitare Ricaricamento rapido | Vero | Singolo progetto, Docker Compose | Impostare su False se non si vuole che questo servizio venga installato ed eseguito. Il servizio Ricaricamento rapido è disponibile in Visual Studio 2022 versione 17.7 e successive e supporta solo l'esecuzione senza eseguire il debug (CTRL+F5). |
Le impostazioni della finestra degli strumenti Contenitori controllano le impostazioni applicabili alla finestra degli strumenti Contenitori, che mostra informazioni su contenitori e immagini Docker. Vedere Usare la finestra Contenitori
Nella tabella seguente vengono descritte le impostazioni della finestra Contenitori :
Nome | Impostazione predefinita | Descrizione |
---|---|---|
Confermare prima di eliminare i contenitori | Sempre | Controlla se viene richiesto quando si eliminano contenitori inutilizzati. |
Conferma prima dell'eliminazione delle immagini | Sempre | Controlla se viene richiesto quando si eliminano immagini inutilizzate. |
Confermare prima di rimuovere un contenitore | Sempre | Controlla se viene richiesto quando si rimuove un contenitore. |
Confermare prima di rimuovere un'immagine | Sempre | Controlla se viene richiesto quando si rimuove un'immagine. |
Conferma prima di eseguire un numero elevato di immagini | Sempre | Controlla se viene richiesto prima di avviare i contenitori da più di 10 immagini alla volta. |
Avviso
Se il localhost
certificato SSL non è attendibile e si seleziona la casella per eliminare la richiesta, le richieste Web HTTPS potrebbero non riuscire in fase di esecuzione nell'app o nel servizio. In tal caso, deselezionare la casella di controllo Non richiedere conferma, eseguire il progetto e indicare l'attendibilità al prompt.
Configurare l'autenticazione di Azure
Se l'app usa i servizi di Azure, richiede le credenziali di autenticazione appropriate quando viene eseguita in un contenitore per l'autenticazione con i servizi di Azure. Durante lo sviluppo, in genere è possibile usare le proprie credenziali di Azure anziché le credenziali usate dall'app nell'ambiente di produzione, ma tali credenziali sono necessarie nell'ambiente contenitore per essere utili per l'app in contenitori in esecuzione.
A partire da Visual Studio 2022 versione 17.6, nei progetti a contenitore singolo e Docker Compose viene distribuito ed eseguito un servizio proxy di token nei contenitori che consente alle app e ai servizi di eseguire l'autenticazione in Azure. La funzionalità richiede Azure Identity 1.9.0 o versione successiva. Con questo servizio abilitato, è possibile usare automaticamente la maggior parte dei servizi di Azure senza alcuna configurazione o configurazione aggiuntiva all'interno del contenitore. In particolare, il codice può usare DefaultAzureCredential
e VisualStudioCredential
per eseguire l'autenticazione con i servizi di Azure allo stesso modo di all'esterno di un contenitore. Vedere README di Identità di Azure 1.9.0.
Per disabilitare questa funzionalità, impostare l'impostazione Opzioni strumenti>Eseguire un servizio nei contenitori per abilitare l'autenticazione di Azure (descritta in precedenza in questo articolo) su .False
Attenzione
Esiste un potenziale problema di sicurezza se si usa il proxy di token e sono stati abilitati determinati log di diagnostica di Strumenti contenitore. Quando la registrazione è abilitata, è possibile registrare le credenziali di autenticazione come testo normale. Questi log sono abilitati da determinate variabili di ambiente. Per i progetti a contenitore singolo, la variabile di ambiente è MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED
, che quindi esegue l'accesso a %tmp%\Microsoft.VisualStudio.Containers.Tools
. Per i progetti Docker Compose, è MS_VS_DOCKER_TOOLS_LOGGING_ENABLED
, che quindi esegue l'accesso in %tmp%\Microsoft.VisualStudio.DockerCompose.Tools
.
Contenuto correlato
Per altre informazioni sull'uso dei contenitori in Visual Studio, vedere questa panoramica.