# Docker & Containerization (.NET) > Dockerfile, docker-compose, multi-stage builds, otimização de contêineres, configuração de ambientes - 16 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: .NET](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista.md) ## 1. Qual é o papel principal de um Dockerfile em uma aplicação .NET? **Resposta** O Dockerfile define as instruções para criar uma imagem Docker reproduzível contendo a aplicação .NET e suas dependências. Ele especifica a imagem base, os comandos de build, os arquivos a copiar e o comando de execução. Isso garante que a aplicação seja executada de forma idêntica em todos os ambientes. ## 2. Qual imagem base é recomendada para uma aplicação ASP.NET Core em produção? **Resposta** A imagem mcr.microsoft.com/dotnet/aspnet é otimizada para executar aplicações ASP.NET Core em produção. Ela contém apenas o runtime .NET necessário, sem SDK ou ferramentas de build, o que reduz consideravelmente o tamanho da imagem final e melhora a segurança. Para o build, usar mcr.microsoft.com/dotnet/sdk em um multi-stage build. ## 3. O que é um multi-stage build em um Dockerfile .NET? **Resposta** Um multi-stage build utiliza várias instruções FROM em um Dockerfile para criar imagens intermediárias. A primeira etapa usa a imagem SDK para compilar a aplicação, enquanto a etapa final usa a imagem runtime mais leve e copia apenas os binários compilados. Isso reduz o tamanho da imagem final em várias centenas de MB ao excluir as ferramentas de build e os arquivos-fonte. ## Mais 13 perguntas disponiveis - Por que copiar o arquivo .csproj antes do resto do código-fonte em um Dockerfile? - Qual comando permite construir uma imagem Docker a partir de um Dockerfile? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista .NET - [Fundamentos de C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-basics.md): 25 perguntas, Junior - [LINQ & Delegates](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-linq-delegates.md): 20 perguntas, Junior - [Fundamentos da linguagem C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-language-essentials.md): 15 perguntas, Junior - [Fundamentos do ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/aspnet-core-fundamentals.md): 18 perguntas, Junior - [Ciclo de vida das requisições no ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/aspnet-core-request-lifecycle.md): 20 perguntas, Junior - [Configuration & Settings](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/configuration-settings.md): 20 perguntas, Junior - [Ciclo de vida da aplicação](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/application-lifecycle.md): 20 perguntas, Junior - [Dependency Injection](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/dependency-injection.md): 24 perguntas, Mid-Level - [Entity Framework Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/entity-framework-core.md): 25 perguntas, Mid-Level - [Minimal APIs](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/minimal-apis.md): 18 perguntas, Mid-Level - [Desenvolvimento de Web API](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/web-api-development.md): 22 perguntas, Mid-Level - [Async no ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/async-aspnet-core.md): 20 perguntas, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/authentication-authorization.md): 18 perguntas, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/httpclient-networking.md): 20 perguntas, Mid-Level - [Serialização JSON](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/json-serialization.md): 20 perguntas, Mid-Level - [Entity Framework Core avançado](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/ef-core-advanced.md): 25 perguntas, Mid-Level - [Recursos avançados do C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-advanced-features.md): 20 perguntas, Mid-Level - [Clean Architecture](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/clean-architecture.md): 20 perguntas, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/logging-monitoring.md): 22 perguntas, Mid-Level - [Testes unitários e xUnit](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/unit-testing-xunit.md): 20 perguntas, Mid-Level - [Testes de integração](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/integration-testing.md): 18 perguntas, Mid-Level - [NuGet Package Management](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/nuget-package-management.md): 16 perguntas, Mid-Level - [Memory Management & GC](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/memory-management-gc.md): 22 perguntas, Senior - [Programação reativa](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/reactive-programming.md): 24 perguntas, Senior - [Async/await & Patterns](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/async-await-patterns.md): 26 perguntas, Senior - [.NET Design Patterns](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/dotnet-design-patterns.md): 24 perguntas, Senior - [Otimização de desempenho](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Segurança e Best Practices](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/security-best-practices.md): 24 perguntas, Senior - [SignalR e tempo real](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/signalr-realtime.md): 22 perguntas, Senior - [Arquitetura de Microsserviços](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/microservices-architecture.md): 25 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/docker-containerization