func mkTaggingOperations()

in pkg/docker.go [143:171]


func mkTaggingOperations(dcli *client.Client, tagSuffix string, r *regexp.Regexp, appendOrRemove bool) ([]TagOp, error) {
	images, err := FindImages(dcli, r)
	if err != nil {
		return nil, err
	}

	tagOps := make([]TagOp, 0)
	for _, image := range images {
		// Skip untagged (dangling) images.
		if image.RepoTags[0] == "<none>:<none>" {
			continue
		}
		for _, repoTag := range image.RepoTags {
			if !r.MatchString(repoTag) {
				continue
			}
			if appendOrRemove {
				tagOps, err = appendTag(tagOps, dcli, tagSuffix, repoTag)
			} else {
				tagOps, err = removeTag(tagOps, dcli, tagSuffix, repoTag)
			}
			if err != nil {
				return nil, err
			}
		}
	}

	return tagOps, nil
}