Signed-off-by: Antonio Murdaca <me@runcom.ninja>
This commit is contained in:
Antonio Murdaca 2015-04-12 16:04:01 +02:00
Родитель a54fd325e6
Коммит 6b737752e3
3 изменённых файлов: 6 добавлений и 16 удалений

Просмотреть файл

@ -280,12 +280,10 @@ func getContainersExport(eng *engine.Engine, version version.Version, w http.Res
if vars == nil {
return fmt.Errorf("Missing parameter")
}
job := eng.Job("export", vars["name"])
job.Stdout.Add(w)
if err := job.Run(); err != nil {
return err
}
return nil
d := getDaemon(eng)
return d.ContainerExport(vars["name"], w)
}
func getImagesJSON(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {

Просмотреть файл

@ -121,7 +121,6 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
"container_inspect": daemon.ContainerInspect,
"container_stats": daemon.ContainerStats,
"create": daemon.ContainerCreate,
"export": daemon.ContainerExport,
"info": daemon.CmdInfo,
"logs": daemon.ContainerLogs,
"restart": daemon.ContainerRestart,

Просмотреть файл

@ -3,16 +3,9 @@ package daemon
import (
"fmt"
"io"
"github.com/docker/docker/engine"
)
func (daemon *Daemon) ContainerExport(job *engine.Job) error {
if len(job.Args) != 1 {
return fmt.Errorf("Usage: %s container_id", job.Name)
}
name := job.Args[0]
func (daemon *Daemon) ContainerExport(name string, out io.Writer) error {
container, err := daemon.Get(name)
if err != nil {
return err
@ -25,7 +18,7 @@ func (daemon *Daemon) ContainerExport(job *engine.Job) error {
defer data.Close()
// Stream the entire contents of the container (basically a volatile snapshot)
if _, err := io.Copy(job.Stdout, data); err != nil {
if _, err := io.Copy(out, data); err != nil {
return fmt.Errorf("%s: %s", name, err)
}
// FIXME: factor job-specific LogEvent to engine.Job.Run()