github.com/clcy1243/docker@v1.6.0-rc3/daemon/copy.go (about) 1 package daemon 2 3 import ( 4 "io" 5 6 "github.com/docker/docker/engine" 7 ) 8 9 func (daemon *Daemon) ContainerCopy(job *engine.Job) engine.Status { 10 if len(job.Args) != 2 { 11 return job.Errorf("Usage: %s CONTAINER RESOURCE\n", job.Name) 12 } 13 14 var ( 15 name = job.Args[0] 16 resource = job.Args[1] 17 ) 18 19 container, err := daemon.Get(name) 20 if err != nil { 21 return job.Error(err) 22 } 23 24 data, err := container.Copy(resource) 25 if err != nil { 26 return job.Error(err) 27 } 28 defer data.Close() 29 30 if _, err := io.Copy(job.Stdout, data); err != nil { 31 return job.Error(err) 32 } 33 return engine.StatusOK 34 }