Jelajahi Sumber

Windows: Bump RW layer size

Signed-off-by: John Howard <jhoward@microsoft.com>
John Howard 7 tahun lalu
induk
melakukan
deb335d04f
1 mengubah file dengan 13 tambahan dan 1 penghapusan
  1. 13 1
      builder/dockerfile/internals.go

+ 13 - 1
builder/dockerfile/internals.go

@@ -11,6 +11,7 @@ import (
 	"os"
 	"os"
 	"path"
 	"path"
 	"path/filepath"
 	"path/filepath"
+	"runtime"
 	"strconv"
 	"strconv"
 	"strings"
 	"strings"
 
 
@@ -534,7 +535,7 @@ func hostConfigFromOptions(options *types.ImageBuildOptions) *container.HostConf
 		Ulimits:      options.Ulimits,
 		Ulimits:      options.Ulimits,
 	}
 	}
 
 
-	return &container.HostConfig{
+	hc := &container.HostConfig{
 		SecurityOpt: options.SecurityOpt,
 		SecurityOpt: options.SecurityOpt,
 		Isolation:   options.Isolation,
 		Isolation:   options.Isolation,
 		ShmSize:     options.ShmSize,
 		ShmSize:     options.ShmSize,
@@ -544,6 +545,17 @@ func hostConfigFromOptions(options *types.ImageBuildOptions) *container.HostConf
 		LogConfig:  defaultLogConfig,
 		LogConfig:  defaultLogConfig,
 		ExtraHosts: options.ExtraHosts,
 		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
 // fromSlash works like filepath.FromSlash but with a given OS platform field