# Docker & Containerization (.NET) > Dockerfile, docker-compose, multi-stage builds, optimización de contenedores, configuración de entornos - 16 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: .NET](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista.md) ## 1. ¿Cuál es el rol principal de un Dockerfile en una aplicación .NET? **Respuesta** El Dockerfile define las instrucciones para crear una imagen Docker reproducible que contiene la aplicación .NET y sus dependencias. Especifica la imagen base, los comandos de build, los archivos a copiar y el comando de ejecución. Esto garantiza que la aplicación se ejecute de forma idéntica en todos los entornos. ## 2. ¿Qué imagen base se recomienda para una aplicación ASP.NET Core en producción? **Respuesta** La imagen mcr.microsoft.com/dotnet/aspnet está optimizada para ejecutar aplicaciones ASP.NET Core en producción. Contiene únicamente el runtime .NET necesario, sin SDK ni herramientas de build, lo que reduce considerablemente el tamaño de la imagen final y mejora la seguridad. Para el build, usar mcr.microsoft.com/dotnet/sdk en un multi-stage build. ## 3. ¿Qué es un multi-stage build en un Dockerfile de .NET? **Respuesta** Un multi-stage build utiliza varias instrucciones FROM en un Dockerfile para crear imágenes intermedias. La primera etapa usa la imagen SDK para compilar la aplicación, mientras que la etapa final usa la imagen runtime más ligera y copia únicamente los binarios compilados. Esto reduce el tamaño de la imagen final en varios cientos de MB al excluir las herramientas de build y los archivos fuente. ## 13 preguntas más disponibles - ¿Por qué copiar el archivo .csproj antes del resto del código fuente en un Dockerfile? - ¿Qué comando permite construir una imagen Docker a partir de un Dockerfile? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista .NET - [Fundamentos de C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-basics.md): 25 preguntas, Junior - [LINQ & Delegates](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-linq-delegates.md): 20 preguntas, Junior - [Fundamentos del lenguaje C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-language-essentials.md): 15 preguntas, Junior - [Fundamentos de ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/aspnet-core-fundamentals.md): 18 preguntas, Junior - [Ciclo de vida de las solicitudes en ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/aspnet-core-request-lifecycle.md): 20 preguntas, Junior - [Configuration & Settings](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/configuration-settings.md): 20 preguntas, Junior - [Ciclo de vida de la aplicación](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/application-lifecycle.md): 20 preguntas, Junior - [Dependency Injection](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/dependency-injection.md): 24 preguntas, Mid-Level - [Entity Framework Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/entity-framework-core.md): 25 preguntas, Mid-Level - [Minimal APIs](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/minimal-apis.md): 18 preguntas, Mid-Level - [Desarrollo de Web API](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/web-api-development.md): 22 preguntas, Mid-Level - [Async en ASP.NET Core](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/async-aspnet-core.md): 20 preguntas, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/authentication-authorization.md): 18 preguntas, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/httpclient-networking.md): 20 preguntas, Mid-Level - [Serialización JSON](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/json-serialization.md): 20 preguntas, Mid-Level - [Entity Framework Core avanzado](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/ef-core-advanced.md): 25 preguntas, Mid-Level - [Características avanzadas de C#](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/csharp-advanced-features.md): 20 preguntas, Mid-Level - [Clean Architecture](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/clean-architecture.md): 20 preguntas, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/logging-monitoring.md): 22 preguntas, Mid-Level - [Pruebas unitarias y xUnit](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/unit-testing-xunit.md): 20 preguntas, Mid-Level - [Pruebas de integración](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/integration-testing.md): 18 preguntas, Mid-Level - [NuGet Package Management](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/nuget-package-management.md): 16 preguntas, Mid-Level - [Memory Management & GC](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/memory-management-gc.md): 22 preguntas, Senior - [Programación reactiva](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/reactive-programming.md): 24 preguntas, Senior - [Async/await & Patterns](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/async-await-patterns.md): 26 preguntas, Senior - [.NET Design Patterns](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/dotnet-design-patterns.md): 24 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad y Best Practices](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/security-best-practices.md): 24 preguntas, Senior - [SignalR y tiempo real](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/signalr-realtime.md): 22 preguntas, Senior - [Arquitectura de Microservicios](https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/microservices-architecture.md): 25 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/dotnet/preguntas-entrevista/docker-containerization