cache.go 608 B

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