github.com/rawahars/moby@v24.0.4+incompatible/daemon/changes.go (about)

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