dotnet / dotnet/docker-tools

Windows image build times are unnecessarily slow

Open
#2,006 1 comment 0 reactions 0 assignees View on GitHub
area-dockerfiles
Dominant language
C#
Stars
181
Forks
67
Avg merge
2d 15h
Merged PRs (30d)
10

Description

On Windows, ImageBuilder is not ran inside a container. We use containers only as a means to shuttle around the ImageBuilder executable, extract it, and run natively on Windows.

### Analysis of a recent ImageBuilder build stage

~ | Win1809 | Win2022 | Combined
-|-:|-:|-:
Image pull | `7m 25s` | `31s` | `7m 56s`
Image build | `1m 28s` | `1m 48s` | `3m 16s`
Image push | `4m 41s` | `16s` | `4m 58s`
Total | `13m 35s` | `2m 35s` | `16m 10s`

Only 20% of combined Windows ImageBuilder build time is the actual docker build. The other 80% is network I/O — pulls (49%) and pushes (31%) — dominated almost entirely by the Win1809 leg's `servercore:ltsc2016` image dependency.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.