func Tag(client *docker.Client, id, repo, tag string) (err error) { opts := docker.TagImageOptions{ Repo: repo, Tag: tag, } err = client.TagImage(id, opts) return }
func tagImage(client *dockerclient.Client, img, tag string) error { ref, err := reference.Parse(tag) if err != nil { return fmt.Errorf("invalid tag %s: %v", tag, err) } namedTagged, ok := ref.(reference.NamedTagged) if !ok { return fmt.Errorf("expecting named tagged reference: %s", tag) } tagOptions := dockerclient.TagImageOptions{ Repo: namedTagged.Name(), Tag: namedTagged.Tag(), Force: true, } if err := client.TagImage(img, tagOptions); err != nil { return fmt.Errorf("error tagging image %s as %s: %v", img, tag, err) } return nil }