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.