INNER CODE UNIT · Go
dockerPush
anjia0532/gcr.io_mirror · main.go:303
func dockerPush(targetImageName string, platform string, cli *client.Client, ctx context.Context, config *Config) error {
fmt.Println("docker push ", targetImageName)
authConfig := types.AuthConfig{
Username: config.RegistryUserName,
Password: config.RegistryPassword,
}
if len(config.Registry) > 0 {
authConfig.ServerAddress = config.Registry
}
encodedJSON, err := json.Marshal(authConfig)
if err != nil {
return err
}
authStr := base64.URLEncoding.EncodeToString(encodedJSON)
pushOut, err := cli.ImagePush(ctx, targetImageName, types.ImagePushOptions{
RegistryAuth: authStr,
Platform: platform,