Eseguire l'hosting di ASP.NET Core nei contenitori Docker

Nota

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Avviso

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere Criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Importante

Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Per apprendere come eseguire l'hosting di app ASP.NET Core in Docker, leggere gli articoli seguenti:

Introduzione a contenitori e Docker
Descrive la containerizzazione, un approccio allo sviluppo del software in cui un'applicazione o un servizio, le relative dipendenze e la configurazione corrispondente sono inclusi in uno stesso pacchetto come immagine del contenitore. L'immagine può essere testata e quindi distribuita in un host.

Che cos'è Docker?
Informazioni su Docker, un progetto open source per automatizzare la distribuzione di app come contenitori portabili e autosufficienti eseguibili nel cloud o in locale.

Terminologia di Docker
Informazioni su termini e definizioni relativi alla tecnologia Docker.

Contenitori, immagini e registri di Docker
Informazioni sulle modalità con cui le immagini del contenitore Docker vengono archiviate in un registro immagini per una distribuzione uniforme nei diversi ambienti.

Eseguire un'app ASP.NET Core nei contenitori Docker Informazioni su come compilare e dockerizzare un'app ASP.NET Core. Si analizzano le immagini Docker gestite da Microsoft e si esaminano casi d'uso.

Esempi di Docker .NET Esempi e linee guida che illustrano come usare .NET e Docker per sviluppo, test e produzione.

Strumenti contenitore di Visual Studio
Informazioni su come Visual Studio supporta la compilazione, il debug e l'esecuzione di app ASP.NET Core destinate a .NET Framework o .NET Core in Docker per Windows. Sono supportati sia contenitori Windows che contenitori Linux.

Pubblicare nel Registro Azure Container
Informazioni su come usare l'estensione degli Strumenti contenitore di Visual Studio per distribuire un'app ASP.NET Core in un host Docker in Azure con PowerShell.

Configurare ASP.NET Core per l'utilizzo di server proxy e servizi di bilanciamento del carico
Potrebbero essere necessari interventi di configurazione aggiuntivi per le app ospitate dietro a server proxy e a servizi di bilanciamento del carico. Il passaggio delle richieste attraverso un proxy spesso oscura le informazioni sulla richiesta originale, ad esempio lo schema e l'indirizzo IP del client. Potrebbe essere necessario inoltrare alcune informazioni sulla richiesta manualmente all'app.

GC usando Docker e contenitori di piccole dimensioni Illustra la selezione di GC con contenitori di piccole dimensioni.

System.IO.IOException: è stato raggiunto il limite utente configurato (128) sul numero di istanze inotify

La disabilitazione reloadOnChange può ridurre significativamente il numero di file aperti. Per disabilitare il ricaricamento dei file di configurazione, impostare la variabile di ambiente DOTNET_HOSTBUILDER__RELOADCONFIGONCHANGE=false

Per approcci alternativi o per lasciare commenti e suggerimenti su questo problema, vedere questo problema di GitHub.