package images // import "github.com/docker/docker/daemon/images" import ( "context" imagetypes "github.com/docker/docker/api/types/image" "github.com/docker/docker/builder" "github.com/docker/docker/image/cache" "github.com/sirupsen/logrus" ) // MakeImageCache creates a stateful image cache. func (i *ImageService) MakeImageCache(sourceRefs []string) builder.ImageCache { ctx := context.TODO() if len(sourceRefs) == 0 { return cache.NewLocal(i.imageStore) } cache := cache.New(i.imageStore) for _, ref := range sourceRefs { img, err := i.GetImage(ctx, ref, imagetypes.GetImageOpts{}) if err != nil { logrus.Warnf("Could not look up %s for cache resolution, skipping: %+v", ref, err) continue } cache.Populate(img) } return cache }