Browse Source

Merge pull request #20278 from aaronlehmann/build-authconfig

Pass authentication credentials through to build
Jess Frazelle 9 years ago
parent
commit
64a4605892

+ 2 - 0
api/server/router/build/build_routes.go

@@ -159,6 +159,8 @@ func (br *buildRouter) postBuild(ctx context.Context, w http.ResponseWriter, r *
 		buildOptions.Dockerfile = dockerfileName
 		buildOptions.Dockerfile = dockerfileName
 	}
 	}
 
 
+	buildOptions.AuthConfigs = authConfigs
+
 	out = output
 	out = output
 	if buildOptions.SuppressOutput {
 	if buildOptions.SuppressOutput {
 		out = notVerboseBuffer
 		out = notVerboseBuffer

+ 23 - 0
integration-cli/docker_cli_build_test.go

@@ -6534,3 +6534,26 @@ func (s *DockerSuite) TestBuildWorkdirWindowsPath(c *check.C) {
 		c.Fatal(err)
 		c.Fatal(err)
 	}
 	}
 }
 }
+
+func (s *DockerRegistryAuthSuite) TestBuildFromAuthenticatedRegistry(c *check.C) {
+	dockerCmd(c, "login", "-u", s.reg.username, "-p", s.reg.password, "-e", s.reg.email, privateRegistryURL)
+
+	baseImage := privateRegistryURL + "/baseimage"
+
+	_, err := buildImage(baseImage, `
+	FROM busybox
+	ENV env1 val1
+	`, true)
+
+	c.Assert(err, checker.IsNil)
+
+	dockerCmd(c, "push", baseImage)
+	dockerCmd(c, "rmi", baseImage)
+
+	_, err = buildImage(baseImage, fmt.Sprintf(`
+	FROM %s
+	ENV env2 val2
+	`, baseImage), true)
+
+	c.Assert(err, checker.IsNil)
+}