Condividi tramite


Strumenti per contenitori di Visual Studio

Gli strumenti inclusi in Visual Studio per lo sviluppo con contenitori Docker o Podman semplificano notevolmente la compilazione, il debug e la distribuzione per le applicazioni in contenitori. È possibile usare un contenitore per un singolo progetto o usare l'orchestrazione dei contenitori con Docker Compose.

Gli strumenti inclusi in Visual Studio per lo sviluppo con contenitori Docker semplificano notevolmente la compilazione, il debug e la distribuzione per le applicazioni in contenitori. È possibile usare un contenitore per un singolo progetto oppure usare l'orchestrazione dei contenitori con Docker Compose o Service Fabric per usare più servizi nei contenitori.

Prerequisiti

Supporto di Docker in Visual Studio

Il supporto di Docker è disponibile per progetti ASP.NET, progetti ASP.NET Core e progetti console .NET Core e .NET Framework.

Il supporto per Docker in Visual Studio è cambiato in diverse versioni in risposta alle esigenze dei clienti. Esistono due livelli di supporto per Docker che è possibile aggiungere a un progetto e le opzioni supportate variano in base al tipo di progetto e alla versione di Visual Studio. Con alcuni tipi di progetto supportati, se si vuole solo un contenitore per un singolo progetto, senza usare l'orchestrazione, è possibile farlo aggiungendo il supporto Docker. Il livello successivo è il supporto dell'orchestrazione dei contenitori, che aggiunge i file di supporto appropriati per l'orchestratore specifico che scegli.

Con Visual Studio 2019 è possibile usare Docker Compose, Kubernetes e Service Fabric come servizi di orchestrazione dei contenitori.

In Visual Studio 2019 versione 16.4 e successive è disponibile la finestra contenitori, che consente di visualizzare i contenitori in esecuzione, esplorare le immagini disponibili, visualizzare le variabili di ambiente, i log e i mapping delle porte, esaminare il file system, collegare un debugger o aprire una finestra del terminale all'interno dell'ambiente contenitore. Consultare Usare la finestra Contenitori.

Prerequisiti

Supporto dei contenitori in Visual Studio

Il supporto dei contenitori è disponibile per i progetti ASP.NET Core e per i progetti console .NET Core (e .NET 5 e versioni successive). I progetti .NET Framework non sono supportati nella versione corrente di Visual Studio.

Se si vuole solo un contenitore per un singolo progetto, senza usare l'orchestrazione, è possibile farlo aggiungendo il supporto per i contenitori. È possibile scegliere Docker o Podman come piattaforma contenitore e passare facilmente tra di essi senza modificare il progetto. Il livello successivo è il supporto di Container Compose, che aggiunge i file di supporto appropriati per Docker Compose. Podman Compose non è supportato.

Quando si aggiunge il supporto dei contenitori a un progetto .NET 7 o versione successiva, sono disponibili due tipi di compilazione di contenitori tra cui scegliere per l'aggiunta del supporto dei contenitori. È possibile scegliere di aggiungere un Dockerfile per specificare come compilare le immagini del contenitore oppure scegliere di usare il supporto predefinito del contenitore fornito da .NET SDK.

La finestra Contenitori consente di visualizzare i contenitori in esecuzione, esplorare le immagini disponibili, visualizzare le variabili di ambiente, i log e i mapping delle porte, esaminare il file system, collegare un debugger o aprire una finestra del terminale all'interno dell'ambiente contenitore. Consultare Usare la finestra Contenitori.

Prerequisiti

Supporto di Docker in Visual Studio

Il supporto di Docker è disponibile per progetti ASP.NET, progetti ASP.NET Core e progetti console .NET Core e .NET Framework.

Il supporto per Docker in Visual Studio è cambiato in diverse versioni in risposta alle esigenze dei clienti. Sono disponibili diverse opzioni per aggiungere il supporto Docker a un progetto e le opzioni supportate variano in base al tipo di progetto e alla versione di Visual Studio. Con alcuni tipi di progetto supportati, se si vuole solo un contenitore per un singolo progetto, senza usare l'orchestrazione, è possibile farlo aggiungendo il supporto Docker. Il livello successivo è il supporto dell'orchestrazione dei contenitori, che aggiunge i file di supporto appropriati per l'orchestratore specifico che scegli.

Con Visual Studio 2022 versione 17.9 e successive, quando si aggiunge il supporto Docker a un progetto .NET 7 o versione successiva, sono disponibili due tipi di compilazione del contenitore tra cui scegliere per l'aggiunta del supporto docker. È possibile scegliere di aggiungere un Dockerfile per specificare come compilare le immagini del contenitore oppure scegliere di usare il supporto predefinito del contenitore fornito da .NET SDK.

Inoltre, con Visual Studio 2022 e versioni successive, quando si sceglie l'orchestrazione dei contenitori, è possibile usare Docker Compose o Service Fabric come servizi di orchestrazione dei contenitori.

In Visual Studio 2022 è disponibile la finestra contenitori, che consente di visualizzare i contenitori in esecuzione, esplorare le immagini disponibili, visualizzare variabili di ambiente, log e mapping delle porte, esaminare il file system, collegare un debugger o aprire una finestra del terminale all'interno dell'ambiente contenitore. Consultare Usare la finestra Contenitori.

Per creare un progetto con supporto per i contenitori o aggiungere il supporto dei contenitori a un progetto esistente, vedere Aggiungere il supporto per i contenitori.

Per creare un progetto con il supporto docker o aggiungere il supporto Docker a un progetto esistente, vedere Aggiungere il supporto per i contenitori.

Nota

I requisiti di licenza di Docker potrebbero essere diversi per versioni diverse di Docker Desktop. Consultare la documentazione di Docker per comprendere i requisiti di licenza correnti per usare la versione di Docker Desktop per lo sviluppo nella propria situazione.

Supporto di Podman in Visual Studio

Visual Studio supporta i contenitori Podman, uno strumento di gestione dei contenitori diffuso che fornisce un motore di contenitori senza daemon. È possibile eseguire e gestire i contenitori usando l'interfaccia della riga di comando di Podman direttamente da Visual Studio. È possibile usare Podman per eseguire le app a contenitore singolo nello stesso modo di Docker.

Per usare i contenitori Podman, avviare podman dall'interfaccia della riga di comando e aprire la soluzione in Visual Studio. Per impostazione predefinita, Strumenti contenitore rileva automaticamente se Podman o Docker è in esecuzione e usa il runtime del contenitore attualmente attivo all'avvio dell'app. Per configurare manualmente il runtime del contenitore, passare a Strumenti >> Opzioni > del runtime del contenitore e selezionare Podman o Docker. L'impostazione predefinita è Auto, ovvero Visual Studio tenta di rilevare il runtime del contenitore attualmente attivo. Chiudere la finestra Opzioni strumenti > per eseguire il commit della modifica dell'impostazione.

Finestra Contenitori

La finestra contenitori consente di visualizzare i contenitori e le immagini sul tuo computer e vedere cosa accade loro. È possibile visualizzare il file system, i volumi montati, le variabili di ambiente, le porte usate ed esaminare i file di log.

Aprire la finestra contenitori di usando l'avvio rapido (CTRL+Q) e digitando containers. È possibile usare i controlli di ancoraggio per posizionare la finestra da qualche parte. A causa della larghezza della finestra, funziona meglio quando è ancorato nella parte inferiore dello schermo.

Selezionare un contenitore e usare le schede per visualizzare le informazioni disponibili. Per verificare, esegui l'app abilitata per Docker, apri la scheda File ed espandi la cartella dell'app per visualizzare l'app distribuita sul contenitore.

Screenshot che mostra la finestra dei Contenitori.

screenshot della finestra Contenitori.

screenshot della finestra Contenitori.

Per maggiori informazioni, vedere Utilizzare la finestra Container.

Supporto di Docker Compose

Quando si vuole comporre una soluzione multi-contenitore usando Docker Compose, aggiungere il supporto dell'agente di orchestrazione dei contenitori ai progetti. In questo modo è possibile eseguire ed eseguire il debug di un gruppo di contenitori (un'intera soluzione o un gruppo di progetti) contemporaneamente se sono definiti nello stesso file docker-compose.yml.

Per aggiungere il supporto dell'orchestratore dei contenitori usando Docker Compose, fare clic con il pulsante destro del mouse sull'applicazione in Esplora soluzioni e quindi scegliere Aggiungi>supporto per Docker Compose.

Per aggiungere il supporto dell'orchestratore dei contenitori usando Docker Compose, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e scegliere Aggiungi > supporto dell'orchestratore dei contenitori. Scegliere quindi Docker Compose per gestire i contenitori.

Dopo aver aggiunto il supporto dell'agente di orchestrazione del contenitore al progetto, viene visualizzato un Dockerfile aggiunto al progetto (se non ne esiste già uno) e una cartella docker-compose aggiunta alla soluzione in Esplora soluzioni, come illustrato di seguito:

Screenshot che mostra i file Docker in Esplora soluzioni.

screenshot dei file Docker in Esplora soluzioni in Visual Studio.

screenshot dei file Docker in Esplora soluzioni in Visual Studio.

Se docker-compose.yml esiste già, Visual Studio aggiunge solo le righe di codice di configurazione necessarie.

Ripetere il processo con gli altri progetti che si desidera controllare usando Docker Compose.

Se si lavora con un numero elevato di servizi, è possibile risparmiare tempo e risorse di calcolo selezionando il subset di servizi da avviare nella sessione di debug. Vedere Avviare un subset di servizi Compose.

Nota

Gli host Docker remoti non sono supportati negli strumenti di Visual Studio.

Supporto di Service Fabric

I progetti di applicazione di Service Fabric sono stati rimossi in Visual Studio 2026 e diventeranno un'estensione di Visual Studio. Per informazioni sullo stato della disponibilità, vedere questo problema di GitHub.

Con gli strumenti di Service Fabric in Visual Studio è possibile sviluppare ed eseguire il debug per Azure Service Fabric, eseguire ed eseguire il debug in locale e distribuirlo in Azure.

Visual Studio 2019 e Visual Studio 2022 supportano lo sviluppo di microservizi in contenitori usando contenitori Windows e l'orchestrazione di Service Fabric.

Per un'esercitazione dettagliata, vedere Esercitazione: Distribuire un'applicazione .NET in un contenitore Windows in Azure Service Fabric.

Per altre informazioni su Azure Service Fabric, vedere Service Fabric.

Distribuzione continua e integrazione continua (CI/CD)

Visual Studio si integra facilmente con Azure Pipelines per l'integrazione automatica e continua e il recapito delle modifiche al codice e alla configurazione del servizio. Per iniziare, consulta Crea la tua prima pipeline.

Per Service Fabric, vedere Esercitazione: Distribuire l'app ASP.NET Core in Azure Service Fabric usando Azure DevOps Projects.

Passaggi successivi

Per altre informazioni sull'implementazione dei servizi e sull'uso degli strumenti di Visual Studio per l'uso dei contenitori, vedere gli articoli seguenti:

Aggiungere il supporto per i contenitori

Strumenti per container in Visual Studio

Debug di app in un contenitore locale

Distribuire un contenitore ASP.NET in un registro contenitori usando Visual Studio

Distribuire nel servizio app di Azure

Distribuire in Azure Container Apps con Visual Studio