diff --git a/integration-cli/docker_api_containers_windows_test.go b/integration-cli/docker_api_containers_windows_test.go index 4cbe067cd5..ae60cfec00 100644 --- a/integration-cli/docker_api_containers_windows_test.go +++ b/integration-cli/docker_api_containers_windows_test.go @@ -47,7 +47,7 @@ func (s *DockerSuite) TestContainersAPICreateMountsBindNamedPipe(c *check.C) { name := "test-bind-npipe" data := map[string]interface{}{ - "Image": testEnv.MinimalBaseImage(), + "Image": testEnv.PlatformDefaults.BaseImage, "Cmd": []string{"cmd", "/c", cmd}, "HostConfig": map[string]interface{}{"Mounts": []map[string]interface{}{{"Type": "npipe", "Source": hostPipeName, "Target": containerPipeName}}}, } diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index 541182c69f..cb3b047a46 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -603,7 +603,7 @@ RUN [ $(cat "/test dir/test_file6") = 'test6' ]`, command, command, command, com func (s *DockerSuite) TestBuildCopyFileWithWhitespaceOnWindows(c *check.C) { testRequires(c, DaemonIsWindows) - dockerfile := `FROM ` + testEnv.MinimalBaseImage() + ` + dockerfile := `FROM ` + testEnv.PlatformDefaults.BaseImage + ` RUN mkdir "C:/test dir" RUN mkdir "C:/test_dir" COPY [ "test file1", "/test_file1" ] @@ -5148,7 +5148,7 @@ func (s *DockerSuite) TestBuildWorkdirWindowsPath(c *check.C) { testRequires(c, DaemonIsWindows) name := "testbuildworkdirwindowspath" buildImageSuccessfully(c, name, build.WithDockerfile(` - FROM `+testEnv.MinimalBaseImage()+` + FROM `+testEnv.PlatformDefaults.BaseImage+` RUN mkdir C:\\work WORKDIR C:\\work RUN if "%CD%" NEQ "C:\work" exit -1 @@ -6143,7 +6143,7 @@ func (s *DockerTrustSuite) TestBuildMultiStageTrusted(c *check.C) { func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) { testRequires(c, DaemonIsWindows) dockerfile := ` - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY foo c:\\bar` ctx := fakecontext.New(c, "", fakecontext.WithDockerfile(dockerfile), @@ -6156,7 +6156,7 @@ func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) { dockerfile = ` FROM build1:latest - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY --from=0 c:\\bar / COPY foo /` ctx = fakecontext.New(c, "", @@ -6177,8 +6177,8 @@ func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) { func (s *DockerSuite) TestBuildCopyFromForbidWindowsSystemPaths(c *check.C) { testRequires(c, DaemonIsWindows) dockerfile := ` - FROM ` + testEnv.MinimalBaseImage() + ` - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY --from=0 %s c:\\oscopy ` exp := icmd.Expected{ @@ -6194,8 +6194,8 @@ func (s *DockerSuite) TestBuildCopyFromForbidWindowsSystemPaths(c *check.C) { func (s *DockerSuite) TestBuildCopyFromForbidWindowsRelativePaths(c *check.C) { testRequires(c, DaemonIsWindows) dockerfile := ` - FROM ` + testEnv.MinimalBaseImage() + ` - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY --from=0 %s c:\\oscopy ` exp := icmd.Expected{ @@ -6212,9 +6212,9 @@ func (s *DockerSuite) TestBuildCopyFromForbidWindowsRelativePaths(c *check.C) { func (s *DockerSuite) TestBuildCopyFromWindowsIsCaseInsensitive(c *check.C) { testRequires(c, DaemonIsWindows) dockerfile := ` - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY foo / - FROM ` + testEnv.MinimalBaseImage() + ` + FROM ` + testEnv.PlatformDefaults.BaseImage + ` COPY --from=0 c:\\fOo c:\\copied RUN type c:\\copied ` @@ -6294,7 +6294,7 @@ func (s *DockerSuite) TestBuildOpaqueDirectory(c *check.C) { func (s *DockerSuite) TestBuildWindowsUser(c *check.C) { testRequires(c, DaemonIsWindows) name := "testbuildwindowsuser" - buildImage(name, build.WithDockerfile(`FROM `+testEnv.MinimalBaseImage()+` + buildImage(name, build.WithDockerfile(`FROM `+testEnv.PlatformDefaults.BaseImage+` RUN net user user /add USER user RUN set username @@ -6325,7 +6325,7 @@ func (s *DockerSuite) TestBuildWindowsEnvCaseInsensitive(c *check.C) { testRequires(c, DaemonIsWindows) name := "testbuildwindowsenvcaseinsensitive" buildImageSuccessfully(c, name, build.WithDockerfile(` - FROM `+testEnv.MinimalBaseImage()+` + FROM `+testEnv.PlatformDefaults.BaseImage+` ENV FOO=bar foo=baz `)) res := inspectFieldJSON(c, name, "Config.Env") diff --git a/integration-cli/docker_cli_create_test.go b/integration-cli/docker_cli_create_test.go index 8e123142b9..67bc98ee3f 100644 --- a/integration-cli/docker_cli_create_test.go +++ b/integration-cli/docker_cli_create_test.go @@ -225,7 +225,7 @@ func (s *DockerSuite) TestCreateHostnameWithNumber(c *check.C) { image := "busybox" // Busybox on Windows does not implement hostname command if testEnv.DaemonPlatform() == "windows" { - image = testEnv.MinimalBaseImage() + image = testEnv.PlatformDefaults.BaseImage } out, _ := dockerCmd(c, "run", "-h", "web.0", image, "hostname") c.Assert(strings.TrimSpace(out), checker.Equals, "web.0", check.Commentf("hostname not set, expected `web.0`, got: %s", out)) diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index 3b52e0f942..79be835edb 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -75,7 +75,7 @@ func (s *DockerSuite) TestRunLookupGoogleDNS(c *check.C) { if testEnv.DaemonPlatform() == "windows" { // nslookup isn't present in Windows busybox. Is built-in. Further, // nslookup isn't present in nanoserver. Hence just use PowerShell... - dockerCmd(c, "run", testEnv.MinimalBaseImage(), "powershell", "Resolve-DNSName", "google.com") + dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "powershell", "Resolve-DNSName", "google.com") } else { dockerCmd(c, "run", "busybox", "nslookup", "google.com") } @@ -162,7 +162,7 @@ func (s *DockerSuite) TestRunWithoutNetworking(c *check.C) { image := "busybox" if testEnv.DaemonPlatform() == "windows" { count = "-n" - image = testEnv.MinimalBaseImage() + image = testEnv.PlatformDefaults.BaseImage } // First using the long form --net @@ -355,7 +355,7 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) { // Create a file in a volume if testEnv.DaemonPlatform() == "windows" { - out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", `c:\some\dir`, testEnv.MinimalBaseImage(), "cmd", "/c", `echo hello > c:\some\dir\file`) + out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", `c:\some\dir`, testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `echo hello > c:\some\dir\file`) } else { out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", "/some/dir", "busybox", "touch", "/some/dir/file") } @@ -365,7 +365,7 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) { // Read the file from another container using --volumes-from to access the volume in the second container if testEnv.DaemonPlatform() == "windows" { - out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.MinimalBaseImage(), "cmd", "/c", `type c:\some\dir\file`) + out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `type c:\some\dir\file`) } else { out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", "busybox", "cat", "/some/dir/file") } @@ -407,7 +407,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir(c *check.C) { f.Close() if testEnv.DaemonPlatform() == "windows" { - dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.MinimalBaseImage(), dir, dir) + dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.PlatformDefaults.BaseImage, dir, dir) containerPath = `c:\test\test` cmd = "tasklist" } else { @@ -432,7 +432,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir2(c *check.C) { name := "test-volume-symlink2" if testEnv.DaemonPlatform() == "windows" { - dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir c:\\%s\nRUN mklink /D c:\\test c:\\%s", testEnv.MinimalBaseImage(), name, name) + dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir c:\\%s\nRUN mklink /D c:\\test c:\\%s", testEnv.PlatformDefaults.BaseImage, name, name) containerPath = `c:\test\test` cmd = "tasklist" } else { @@ -670,7 +670,7 @@ func (s *DockerSuite) TestRunVolumesFromSymlinkPath(c *check.C) { if testEnv.DaemonPlatform() == "windows" { prefix = `c:` - dfContents = `FROM ` + testEnv.MinimalBaseImage() + ` + dfContents = `FROM ` + testEnv.PlatformDefaults.BaseImage + ` RUN mkdir c:\home RUN mklink /D c:\foo c:\home VOLUME ["c:/foo/bar"] @@ -922,7 +922,7 @@ func (s *DockerSuite) TestRunEnvironmentOverride(c *check.C) { func (s *DockerSuite) TestRunContainerNetwork(c *check.C) { if testEnv.DaemonPlatform() == "windows" { // Windows busybox does not have ping. Use built in ping instead. - dockerCmd(c, "run", testEnv.MinimalBaseImage(), "ping", "-n", "1", "127.0.0.1") + dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1") } else { dockerCmd(c, "run", "busybox", "ping", "-c", "1", "127.0.0.1") } @@ -1231,7 +1231,7 @@ func (s *DockerSuite) TestRunRootWorkdir(c *check.C) { func (s *DockerSuite) TestRunAllowBindMountingRoot(c *check.C) { if testEnv.DaemonPlatform() == "windows" { // Windows busybox will fail with Permission Denied on items such as pagefile.sys - dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.MinimalBaseImage(), "cmd", "-c", "dir", `c:\host`) + dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.PlatformDefaults.BaseImage, "cmd", "-c", "dir", `c:\host`) } else { dockerCmd(c, "run", "-v", "/:/host", "busybox", "ls", "/host") } @@ -1705,14 +1705,14 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) { out = strings.TrimSpace(out) expected := "root" if testEnv.DaemonPlatform() == "windows" { - if strings.Contains(testEnv.MinimalBaseImage(), "windowsservercore") { + if strings.Contains(testEnv.PlatformDefaults.BaseImage, "windowsservercore") { expected = `user manager\containeradministrator` } else { expected = `ContainerAdministrator` // nanoserver } } if out != expected { - c.Fatalf("Expected output %s, got %q. %s", expected, out, testEnv.MinimalBaseImage()) + c.Fatalf("Expected output %s, got %q. %s", expected, out, testEnv.PlatformDefaults.BaseImage) } } @@ -1944,7 +1944,7 @@ func (s *DockerSuite) TestRunCidFileCleanupIfEmpty(c *check.C) { image := "emptyfs" if testEnv.DaemonPlatform() == "windows" { // Windows can't support an emptyfs image. Just use the regular Windows image - image = testEnv.MinimalBaseImage() + image = testEnv.PlatformDefaults.BaseImage } out, _, err := dockerCmdWithError("run", "--cidfile", tmpCidFile, image) if err == nil { @@ -2561,7 +2561,7 @@ func (s *DockerSuite) TestRunNonLocalMacAddress(c *check.C) { if testEnv.DaemonPlatform() != "windows" { args = append(args, "busybox", "ifconfig") } else { - args = append(args, testEnv.MinimalBaseImage(), "ipconfig", "/all") + args = append(args, testEnv.PlatformDefaults.BaseImage, "ipconfig", "/all") expected = strings.Replace(strings.ToUpper(addr), ":", "-", -1) } @@ -3483,7 +3483,7 @@ func (s *DockerSuite) TestRunLoopbackOnlyExistsWhenNetworkingDisabled(c *check.C // Issue #4681 func (s *DockerSuite) TestRunLoopbackWhenNetworkDisabled(c *check.C) { if testEnv.DaemonPlatform() == "windows" { - dockerCmd(c, "run", "--net=none", testEnv.MinimalBaseImage(), "ping", "-n", "1", "127.0.0.1") + dockerCmd(c, "run", "--net=none", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1") } else { dockerCmd(c, "run", "--net=none", "busybox", "ping", "-c", "1", "127.0.0.1") } @@ -4253,7 +4253,7 @@ func (s *DockerSuite) TestRunServicingContainer(c *check.C) { c.Skip("Disabled on post-RS3 builds") } - out := cli.DockerCmd(c, "run", "-d", testEnv.MinimalBaseImage(), "cmd", "/c", "mkdir c:\\programdata\\Microsoft\\Windows\\ContainerUpdates\\000_000_d99f45d0-ffc8-4af7-bd9c-ea6a62e035c9_200 && sc control cexecsvc 255").Combined() + out := cli.DockerCmd(c, "run", "-d", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", "mkdir c:\\programdata\\Microsoft\\Windows\\ContainerUpdates\\000_000_d99f45d0-ffc8-4af7-bd9c-ea6a62e035c9_200 && sc control cexecsvc 255").Combined() containerID := strings.TrimSpace(out) cli.WaitExited(c, containerID, 60*time.Second) diff --git a/integration-cli/docker_utils_test.go b/integration-cli/docker_utils_test.go index 1bda2c7239..6eda88c684 100644 --- a/integration-cli/docker_utils_test.go +++ b/integration-cli/docker_utils_test.go @@ -399,7 +399,7 @@ func runSleepingContainerInImage(c *check.C, image string, extraArgs ...string) // minimalBaseImage returns the name of the minimal base image for the current // daemon platform. func minimalBaseImage() string { - return testEnv.MinimalBaseImage() + return testEnv.PlatformDefaults.BaseImage } func getGoroutineNumber() (int, error) { diff --git a/integration-cli/environment/environment.go b/integration-cli/environment/environment.go index 06fafeda0a..11eca5879a 100644 --- a/integration-cli/environment/environment.go +++ b/integration-cli/environment/environment.go @@ -57,9 +57,3 @@ func New() (*Execution, error) { func (e *Execution) DaemonPlatform() string { return e.OSType } - -// MinimalBaseImage is the image used for minimal builds (it depends on the platform) -// Deprecated: use Execution.PlatformDefaults.BaseImage -func (e *Execution) MinimalBaseImage() string { - return e.PlatformDefaults.BaseImage -}