diff --git a/daemon/containerd/image_list.go b/daemon/containerd/image_list.go index cb1129b182..18b3c10ef1 100644 --- a/daemon/containerd/image_list.go +++ b/daemon/containerd/image_list.go @@ -11,10 +11,22 @@ import ( "github.com/opencontainers/image-spec/identity" ) +var acceptedImageFilterTags = map[string]bool{ + "dangling": false, // TODO(thaJeztah): implement "dangling" filter: see https://github.com/moby/moby/issues/43846 + "label": true, + "before": true, + "since": true, + "reference": false, // TODO(thaJeztah): implement "reference" filter: see https://github.com/moby/moby/issues/43847 +} + // Images returns a filtered list of images. // // TODO(thaJeztah): sort the results by created (descending); see https://github.com/moby/moby/issues/43848 func (i *ImageService) Images(ctx context.Context, opts types.ImageListOptions) ([]*types.ImageSummary, error) { + if err := opts.Filters.Validate(acceptedImageFilterTags); err != nil { + return nil, err + } + filter, err := i.setupFilters(ctx, opts.Filters) if err != nil { return nil, err