changes.go 703 B

123456789101112131415161718192021222324252627282930
  1. package daemon // import "github.com/docker/docker/daemon"
  2. import (
  3. "context"
  4. "errors"
  5. "time"
  6. "github.com/docker/docker/pkg/archive"
  7. )
  8. // ContainerChanges returns a list of container fs changes
  9. func (daemon *Daemon) ContainerChanges(ctx context.Context, name string) ([]archive.Change, error) {
  10. start := time.Now()
  11. container, err := daemon.GetContainer(name)
  12. if err != nil {
  13. return nil, err
  14. }
  15. if isWindows && container.IsRunning() {
  16. return nil, errors.New("Windows does not support diff of a running container")
  17. }
  18. c, err := daemon.imageService.Changes(ctx, container)
  19. if err != nil {
  20. return nil, err
  21. }
  22. containerActions.WithValues("changes").UpdateSince(start)
  23. return c, nil
  24. }