blob: b94b6100cb71cc052fba2d3a12a73b45c5a3e1a2 [file] [log] [blame]
package daemon
import (
"fmt"
"io"
)
func (daemon *Daemon) ContainerExport(name string, out io.Writer) error {
container, err := daemon.Get(name)
if err != nil {
return err
}
data, err := container.Export()
if err != nil {
return fmt.Errorf("%s: %s", name, err)
}
defer data.Close()
// Stream the entire contents of the container (basically a volatile snapshot)
if _, err := io.Copy(out, data); err != nil {
return fmt.Errorf("%s: %s", name, err)
}
// FIXME: factor job-specific LogEvent to engine.Job.Run()
container.LogEvent("export")
return nil
}