github.com/mforkel/docker-ce-i386@v17.12.1-ce-rc2+incompatible/components/engine/daemon/cache.go (about)

     1  package daemon
     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 (daemon *Daemon) MakeImageCache(sourceRefs []string, platform string) builder.ImageCache {
    11  	if len(sourceRefs) == 0 {
    12  		return cache.NewLocal(daemon.stores[platform].imageStore)
    13  	}
    14  
    15  	cache := cache.New(daemon.stores[platform].imageStore)
    16  
    17  	for _, ref := range sourceRefs {
    18  		img, err := daemon.GetImage(ref)
    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  }