func runImages(dockerCli *client.DockerCli, opts imagesOptions) error { ctx := context.Background() // Consolidate all filter flags, and sanity check them early. // They'll get process in the daemon/server. imageFilterArgs := filters.NewArgs() for _, f := range opts.filter { var err error imageFilterArgs, err = filters.ParseFlag(f, imageFilterArgs) if err != nil { return err } } matchName := opts.matchName options := types.ImageListOptions{ MatchName: matchName, All: opts.all, Filters: imageFilterArgs, } images, err := dockerCli.Client().ImageList(ctx, options) if err != nil { return err } f := opts.format if len(f) == 0 { if len(dockerCli.ImagesFormat()) > 0 && !opts.quiet { f = dockerCli.ImagesFormat() } else { f = "table" } } imagesCtx := formatter.ImageContext{ Context: formatter.Context{ Output: dockerCli.Out(), Format: f, Quiet: opts.quiet, Trunc: !opts.noTrunc, }, Digest: opts.showDigests, Images: images, } imagesCtx.Write() return nil }