code: func (ds *dockerService) ListImages(_ context.Context, r *runtimeapi.ListImagesRequest) (*runtimeapi.ListImagesResponse, error) {
  	filter := r.GetFilter()
  	opts := dockertypes.ImageListOptions{}
  	if filter != nil {
  		if filter.GetImage().GetImage() != "" {
  			opts.Filters = dockerfilters.NewArgs()
  			opts.Filters.Add("reference", filter.GetImage().GetImage())
  		}
  	}
  
  	images, err := ds.client.ListImages(opts)
  	if err != nil {
  		return nil, err
  	}
  
  	result := make([]*runtimeapi.Image, 0, len(images))
  	for _, i := range images {
  		apiImage, err := imageToRuntimeAPIImage(&i)
  		if err != nil {
  			klog.V(5).Infof("Failed to convert docker API image %+v to runtime API image: %v", i, err)
  			continue
  		}
  		result = append(result, apiImage)
  	}
  	return &runtimeapi.ListImagesResponse{Images: result}, nil
  }
docs: // This file implements methods in ImageManagerService.
  // ListImages lists existing images.