Centralize on one container by wtgodbe · Pull Request #60260 · dotnet/aspnetcore (original) (raw)

Here are the final (I hope) numbers.

In summary, we were using 4 large build images and are now using 1 smaller one. Runtime sets the model for building native code and now aspnetcore sets the model for building managed code. This, in effect, explains the massive difference in container size. aspnetcore was using the runtime container images and was not well-served by it since the need aspnetcore has is much more narrow.

{4E2C0D19-D07D-49D9-9937-E5FE01203779}

These numbers (all up) are not stable. I've switched machines and am using a Docker from different sources. It's primarily due (I'm guessing) to measuring with containerd (here) and not (earlier). The only thing that matters is the ratios.

The new image is still bigger than I imagined. Here's a quick test I ran that tells the story.

{5ED0F7BD-58CF-4A43-B857-737D486BBCE5}

Excuse the fact that the images are slightly out of order.

This tells us that the majority of our cost is from Azure CLI.