Difficulty: beginner
Estimated Time: 15 minuten

In dit scenario ga je leren hoe je een geoptimaliseerde container bouwt met een ASP.NET Core applicatie er in. Hierbij ga je gebruik maken van het multi-stage build concept wat het mogelijk maakt om in een enkele Dockerfile verschillende base images te gebruiken.

Hierdoor kun je de SDK gebruiken om binaries te bouwen maar deze weglaten in het definitieve product (je applicatie image).

Aan het einde van deze oefening kan je het volgende:

  • Het schrijven van een multi-stage Dockerfile met eigen applicatie;
  • De COPY --from optie gebruiken om artifacts uit een ander deel van de build te gebruiken;

3. Multi-stage builds

Step 1 of 3

4.1 De app

De voorbeeld applicatie is een (oude :D) ASP.NET Core MVC API geschreven door Ben Hall. Alle packages en afhankelijkheden worden gedownload vanaf NuGet (package manager voor .NET).

De applicatie is ingesteld om te luisteren op poort 5000. Het heeft 1 endpoint die de hostname van de container teruggeeft. Dit is terug te vinden in Controllers/IndexController.cs

Ps: Het Microsoft dotnet:1.1.1-sdk image wordt alvast binnen gehaald op de achtergrond...

Dockerfile