func()

in builder/login.go [23:53]


func (b *Builder) dockerLogin(ctx context.Context, registry string, user string, pw string) error {
	args := []string{
		"docker",
		"run",
		"--name", fmt.Sprintf("acb_docker_login_%s", uuid.New()),
		"--rm",

		// Interactive mode for --password-stdin
		"-i",

		// Mount home
		"--volume", util.DockerSocketVolumeMapping,
		"--volume", homeVol + ":" + homeWorkDir,
		"--env", homeEnv,

		dockerCLIImageName,
		"login",
		"--username", user,
		"--password-stdin",
		registry,
	}

	stdIn := strings.NewReader(pw + "\n")

	var buf bytes.Buffer
	if err := b.procManager.Run(ctx, args, stdIn, &buf, &buf, ""); err != nil {
		return errors.Wrap(err, fmt.Sprintf("failed to set docker credentials: %s", buf.String()))
	}

	return nil
}