changes.go 647 B

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