Ian Campbell 9f44acf8e3 Generate intermediate image into a temp file
All of the `output*` functions took a `[]byte` and immediately wrapped it in a
`bytes.Buffer` to produce an `io.Reader`. Make them take an `io.Reader` instead
and satisfy this further up the call chain by directing `moby.Build` to output
to a temp file instead of another `bytes.Buffer`.

In my test case (building kube master image) this reduces Maximum RSS (as
measured by time(1)) from 6.7G to 2.8G and overall allocations from 9.7G to
5.3G. When building a tar (output to /dev/null) the Maximum RSS fell slightly
from 2.2G to 2.1G. Overall allocations remained stable at around 5.3G.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-12-06 16:07:46 +00:00
2017-11-18 22:22:33 +01:00
2017-07-14 11:50:51 +01:00
2017-10-17 17:30:47 -04:00
2017-04-24 23:08:30 +01:00
2017-04-24 23:08:30 +01:00
2017-11-14 12:16:54 -05:00
Description
A toolkit for building secure, portable and lean operating systems for containers
241 MiB
Languages
Go 48.3%
text 21.3%
Shell 14%
Dockerfile 5.7%
OCaml 4.6%
Other 6.1%