From deb335d04fd47e96fdb7b342dece513174b574bd Mon Sep 17 00:00:00 2001 From: John Howard Date: Wed, 3 Jan 2018 15:59:06 -0800 Subject: [PATCH] Windows: Bump RW layer size Signed-off-by: John Howard --- builder/dockerfile/internals.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/builder/dockerfile/internals.go b/builder/dockerfile/internals.go index c38f48afc0..adce7b9709 100644 --- a/builder/dockerfile/internals.go +++ b/builder/dockerfile/internals.go @@ -11,6 +11,7 @@ import ( "os" "path" "path/filepath" + "runtime" "strconv" "strings" @@ -534,7 +535,7 @@ func hostConfigFromOptions(options *types.ImageBuildOptions) *container.HostConf Ulimits: options.Ulimits, } - return &container.HostConfig{ + hc := &container.HostConfig{ SecurityOpt: options.SecurityOpt, Isolation: options.Isolation, ShmSize: options.ShmSize, @@ -544,6 +545,17 @@ func hostConfigFromOptions(options *types.ImageBuildOptions) *container.HostConf LogConfig: defaultLogConfig, ExtraHosts: options.ExtraHosts, } + + // For WCOW, the default of 20GB hard-coded in the platform + // is too small for builder scenarios where many users are + // using RUN statements to install large amounts of data. + // Use 127GB as that's the default size of a VHD in Hyper-V. + if runtime.GOOS == "windows" && options.Platform == "windows" { + hc.StorageOpt = make(map[string]string) + hc.StorageOpt["size"] = "127GB" + } + + return hc } // fromSlash works like filepath.FromSlash but with a given OS platform field