github.com/goern/docker@v1.9.0-rc1/daemon/export.go (about) 1 package daemon 2 3 import ( 4 "io" 5 6 derr "github.com/docker/docker/errors" 7 ) 8 9 // ContainerExport writes the contents of the container to the given 10 // writer. An error is returned if the container cannot be found. 11 func (daemon *Daemon) ContainerExport(name string, out io.Writer) error { 12 container, err := daemon.Get(name) 13 if err != nil { 14 return err 15 } 16 17 data, err := container.export() 18 if err != nil { 19 return derr.ErrorCodeExportFailed.WithArgs(name, err) 20 } 21 defer data.Close() 22 23 // Stream the entire contents of the container (basically a volatile snapshot) 24 if _, err := io.Copy(out, data); err != nil { 25 return derr.ErrorCodeExportFailed.WithArgs(name, err) 26 } 27 return nil 28 }