github.com/grange74/docker@v1.6.0-rc3/daemon/changes.go (about)

     1  package daemon
     2  
     3  import (
     4  	"github.com/docker/docker/engine"
     5  )
     6  
     7  func (daemon *Daemon) ContainerChanges(job *engine.Job) engine.Status {
     8  	if n := len(job.Args); n != 1 {
     9  		return job.Errorf("Usage: %s CONTAINER", job.Name)
    10  	}
    11  	name := job.Args[0]
    12  
    13  	container, error := daemon.Get(name)
    14  	if error != nil {
    15  		return job.Error(error)
    16  	}
    17  
    18  	outs := engine.NewTable("", 0)
    19  	changes, err := container.Changes()
    20  	if err != nil {
    21  		return job.Error(err)
    22  	}
    23  
    24  	for _, change := range changes {
    25  		out := &engine.Env{}
    26  		if err := out.Import(change); err != nil {
    27  			return job.Error(err)
    28  		}
    29  		outs.Add(out)
    30  	}
    31  
    32  	if _, err := outs.WriteListTo(job.Stdout); err != nil {
    33  		return job.Error(err)
    34  	}
    35  
    36  	return engine.StatusOK
    37  }