# Docker & Containerization (.NET) > Dockerfile, docker-compose, multi-stage build, ottimizzazione dei container, configurazione degli ambienti - 16 domande da colloquio - Mid-Level - [Domande da colloquio: .NET](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio.md) ## 1. Qual è il ruolo principale di un Dockerfile in un'applicazione .NET? **Risposta** Il Dockerfile definisce le istruzioni per creare un'immagine Docker riproducibile contenente l'applicazione .NET e le sue dipendenze. Specifica l'immagine di base, i comandi di build, i file da copiare e il comando di esecuzione. Questo garantisce che l'applicazione venga eseguita in modo identico in tutti gli ambienti. ## 2. Quale immagine di base è consigliata per un'applicazione ASP.NET Core in produzione? **Risposta** L'immagine mcr.microsoft.com/dotnet/aspnet è ottimizzata per l'esecuzione di applicazioni ASP.NET Core in produzione. Contiene solo il runtime .NET necessario, senza SDK né strumenti di build, riducendo notevolmente le dimensioni dell'immagine finale e migliorando la sicurezza. Per il build, usare mcr.microsoft.com/dotnet/sdk in un multi-stage build. ## 3. Che cos'è un multi-stage build in un Dockerfile .NET? **Risposta** Un multi-stage build utilizza più istruzioni FROM in un Dockerfile per creare immagini intermedie. La prima fase usa l'immagine SDK per compilare l'applicazione, mentre la fase finale usa l'immagine runtime più leggera e copia solo i binari compilati. Questo riduce le dimensioni dell'immagine finale di diverse centinaia di MB escludendo strumenti di build e file sorgente. ## Altre 13 domande disponibili - Perché copiare il file .csproj prima del resto del codice sorgente in un Dockerfile? - Quale comando costruisce un'immagine Docker a partire da un Dockerfile? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio .NET - [Fondamenti di C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-basics.md): 25 domande, Junior - [LINQ & Delegates](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-linq-delegates.md): 20 domande, Junior - [Fondamenti del linguaggio C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-language-essentials.md): 15 domande, Junior - [Fondamenti di ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/aspnet-core-fundamentals.md): 18 domande, Junior - [Ciclo di vita delle richieste in ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/aspnet-core-request-lifecycle.md): 20 domande, Junior - [Configuration & Settings](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/configuration-settings.md): 20 domande, Junior - [Ciclo di vita dell'applicazione](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/application-lifecycle.md): 20 domande, Junior - [Dependency Injection](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/dependency-injection.md): 24 domande, Mid-Level - [Entity Framework Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/entity-framework-core.md): 25 domande, Mid-Level - [Minimal APIs](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/minimal-apis.md): 18 domande, Mid-Level - [Sviluppo di Web API](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/web-api-development.md): 22 domande, Mid-Level - [Async in ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/async-aspnet-core.md): 20 domande, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/authentication-authorization.md): 18 domande, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/httpclient-networking.md): 20 domande, Mid-Level - [Serializzazione JSON](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/json-serialization.md): 20 domande, Mid-Level - [Entity Framework Core avanzato](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/ef-core-advanced.md): 25 domande, Mid-Level - [Funzionalità avanzate di C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-advanced-features.md): 20 domande, Mid-Level - [Clean Architecture](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/clean-architecture.md): 20 domande, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/logging-monitoring.md): 22 domande, Mid-Level - [Test unitari & xUnit](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/unit-testing-xunit.md): 20 domande, Mid-Level - [Test di integrazione](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/integration-testing.md): 18 domande, Mid-Level - [Gestione dei pacchetti NuGet](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/nuget-package-management.md): 16 domande, Mid-Level - [Memory Management & GC](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/memory-management-gc.md): 22 domande, Senior - [Programmazione reattiva](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/reactive-programming.md): 24 domande, Senior - [Async/await & Pattern](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/async-await-patterns.md): 26 domande, Senior - [.NET Design Patterns](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/dotnet-design-patterns.md): 24 domande, Senior - [Ottimizzazione delle prestazioni](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Sicurezza e Best Practices](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/security-best-practices.md): 24 domande, Senior - [SignalR e tempo reale](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/signalr-realtime.md): 22 domande, Senior - [Architettura a Microservizi](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/microservices-architecture.md): 25 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/docker-containerization