github.com/docker/docker@v299999999.0.0-20200612211812-aaf470eca7b5+incompatible/daemon/images/cache.go (about)

     1  package images // import "github.com/docker/docker/daemon/images"
     2  
     3  import (
     4  	"github.com/docker/docker/builder"
     5  	"github.com/docker/docker/image/cache"
     6  	"github.com/sirupsen/logrus"
     7  )
     8  
     9  // MakeImageCache creates a stateful image cache.
    10  func (i *ImageService) MakeImageCache(sourceRefs []string) builder.ImageCache {
    11  	if len(sourceRefs) == 0 {
    12  		return cache.NewLocal(i.imageStore)
    13  	}
    14  
    15  	cache := cache.New(i.imageStore)
    16  
    17  	for _, ref := range sourceRefs {
    18  		img, err := i.GetImage(ref, nil)
    19  		if err != nil {
    20  			logrus.Warnf("Could not look up %s for cache resolution, skipping: %+v", ref, err)
    21  			continue
    22  		}
    23  		cache.Populate(img)
    24  	}
    25  
    26  	return cache
    27  }