# Docker & Containerization (.NET) > Dockerfile, docker-compose, multi-stage build, optimasi container, konfigurasi environment - 16 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: .NET](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara.md) ## 1. Apa peran utama Dockerfile dalam aplikasi .NET? **Jawaban** Dockerfile mendefinisikan instruksi untuk membuat image Docker yang dapat direproduksi yang berisi aplikasi .NET dan dependensinya. Ia menentukan base image, perintah build, file yang akan disalin, dan perintah eksekusi. Hal ini memastikan aplikasi berjalan secara identik di semua environment. ## 2. Base image mana yang direkomendasikan untuk aplikasi ASP.NET Core di produksi? **Jawaban** Image mcr.microsoft.com/dotnet/aspnet dioptimalkan untuk menjalankan aplikasi ASP.NET Core di produksi. Image ini hanya berisi runtime .NET yang diperlukan, tanpa SDK atau build tools, yang secara signifikan mengurangi ukuran image akhir dan meningkatkan keamanan. Untuk build, gunakan mcr.microsoft.com/dotnet/sdk dalam multi-stage build. ## 3. Apa itu multi-stage build dalam Dockerfile .NET? **Jawaban** Multi-stage build menggunakan beberapa instruksi FROM dalam sebuah Dockerfile untuk membuat image perantara. Stage pertama menggunakan image SDK untuk mengompilasi aplikasi, sedangkan stage akhir menggunakan image runtime yang lebih ringan dan hanya menyalin binary yang telah dikompilasi. Hal ini mengurangi ukuran image akhir hingga beberapa ratus MB dengan mengecualikan build tools dan file sumber. ## 13 pertanyaan lagi tersedia - Mengapa menyalin file .csproj sebelum sisa kode sumber dalam Dockerfile? - Perintah mana yang membangun image Docker dari sebuah Dockerfile? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara .NET lainnya - [Dasar-Dasar C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-basics.md): 25 pertanyaan, Junior - [LINQ & Delegates](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-linq-delegates.md): 20 pertanyaan, Junior - [Esensi Bahasa C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup Request ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-request-lifecycle.md): 20 pertanyaan, Junior - [Configuration & Settings](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/configuration-settings.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/application-lifecycle.md): 20 pertanyaan, Junior - [Dependency Injection](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Entity Framework Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/entity-framework-core.md): 25 pertanyaan, Mid-Level - [Minimal APIs](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/minimal-apis.md): 18 pertanyaan, Mid-Level - [Pengembangan Web API](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/web-api-development.md): 22 pertanyaan, Mid-Level - [Async di ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-aspnet-core.md): 20 pertanyaan, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/authentication-authorization.md): 18 pertanyaan, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/httpclient-networking.md): 20 pertanyaan, Mid-Level - [Serialisasi JSON](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/json-serialization.md): 20 pertanyaan, Mid-Level - [Entity Framework Core Tingkat Lanjut](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/ef-core-advanced.md): 25 pertanyaan, Mid-Level - [Fitur Lanjutan C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-advanced-features.md): 20 pertanyaan, Mid-Level - [Clean Architecture](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/clean-architecture.md): 20 pertanyaan, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/logging-monitoring.md): 22 pertanyaan, Mid-Level - [Unit Testing & xUnit](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/unit-testing-xunit.md): 20 pertanyaan, Mid-Level - [Pengujian Integrasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/integration-testing.md): 18 pertanyaan, Mid-Level - [Manajemen Paket NuGet](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/nuget-package-management.md): 16 pertanyaan, Mid-Level - [Memory Management & GC](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/memory-management-gc.md): 22 pertanyaan, Senior - [Pemrograman reaktif](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/reactive-programming.md): 24 pertanyaan, Senior - [Async/await & Pola](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-await-patterns.md): 26 pertanyaan, Senior - [.NET Design Patterns](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dotnet-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan & Best Practices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/security-best-practices.md): 24 pertanyaan, Senior - [SignalR & Real-time](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/signalr-realtime.md): 22 pertanyaan, Senior - [Arsitektur Microservices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/microservices-architecture.md): 25 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/docker-containerization