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.
Creare e configurare un ambiente di sviluppo basato su un contenitore completo con l'estensione Dev Containers di Visual Studio Code. Aprire una cartella o un repository in un contenitore e sfruttare i vantaggi del set di funzionalità completo di Visual Studio Code, ad esempio IntelliSense (completamenti), esplorazione del codice e debug.
Questa certificazione misura la capacità di eseguire le attività tecniche seguenti: Progettare ed implementare processi e comunicazioni, progettare e implementare il controllo del codice sorgente, progettare e implementare pipeline di compilazione e versione, sviluppare un piano di sicurezza e conformità e implementare una strategia di strumentazione.
Modificare le applicazioni in esecuzione in un contenitore Docker locale, aggiornare con le azioni Modifica e Aggiorna e impostare i punti di interruzione di debug.
Compilare un progetto contenitore in Visual Studio usando la riga di comando, con MSBuild.exe o usando la compilazione Docker e informazioni su come abilitare i log di compilazione dettagliati.
Esplorare la modalità rapida di Visual Studio e modificare il Dockerfile per personalizzare le immagini del contenitore per le compilazioni di debug e di produzione.
Usare Strumenti contenitore di Visual Studio per eseguire il debug e la diagnosi delle applicazioni impostando variabili di ambiente e gestendo file, log, porte e altro ancora.
Usare Visual Studio Container Tools per distribuire manualmente un'applicazione Web ASP.NET Core nell'hub Docker per un hosting pratico dei repository di immagini.
Comprendere e configurare il punto di ingresso del contenitore personalizzato impostato da Visual Studio in base al tipo di progetto e al sistema operativo del contenitore.