Signed-off-by: Antonio Murdaca <me@runcom.ninja>
| ... | ... |
@@ -280,12 +280,10 @@ func getContainersExport(eng *engine.Engine, version version.Version, w http.Res |
| 280 | 280 |
if vars == nil {
|
| 281 | 281 |
return fmt.Errorf("Missing parameter")
|
| 282 | 282 |
} |
| 283 |
- job := eng.Job("export", vars["name"])
|
|
| 284 |
- job.Stdout.Add(w) |
|
| 285 |
- if err := job.Run(); err != nil {
|
|
| 286 |
- return err |
|
| 287 |
- } |
|
| 288 |
- return nil |
|
| 283 |
+ |
|
| 284 |
+ d := getDaemon(eng) |
|
| 285 |
+ |
|
| 286 |
+ return d.ContainerExport(vars["name"], w) |
|
| 289 | 287 |
} |
| 290 | 288 |
|
| 291 | 289 |
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 {
|
| 121 | 121 |
"container_inspect": daemon.ContainerInspect, |
| 122 | 122 |
"container_stats": daemon.ContainerStats, |
| 123 | 123 |
"create": daemon.ContainerCreate, |
| 124 |
- "export": daemon.ContainerExport, |
|
| 125 | 124 |
"info": daemon.CmdInfo, |
| 126 | 125 |
"logs": daemon.ContainerLogs, |
| 127 | 126 |
"restart": daemon.ContainerRestart, |
| ... | ... |
@@ -3,16 +3,9 @@ package daemon |
| 3 | 3 |
import ( |
| 4 | 4 |
"fmt" |
| 5 | 5 |
"io" |
| 6 |
- |
|
| 7 |
- "github.com/docker/docker/engine" |
|
| 8 | 6 |
) |
| 9 | 7 |
|
| 10 |
-func (daemon *Daemon) ContainerExport(job *engine.Job) error {
|
|
| 11 |
- if len(job.Args) != 1 {
|
|
| 12 |
- return fmt.Errorf("Usage: %s container_id", job.Name)
|
|
| 13 |
- } |
|
| 14 |
- name := job.Args[0] |
|
| 15 |
- |
|
| 8 |
+func (daemon *Daemon) ContainerExport(name string, out io.Writer) error {
|
|
| 16 | 9 |
container, err := daemon.Get(name) |
| 17 | 10 |
if err != nil {
|
| 18 | 11 |
return err |
| ... | ... |
@@ -25,7 +18,7 @@ func (daemon *Daemon) ContainerExport(job *engine.Job) error {
|
| 25 | 25 |
defer data.Close() |
| 26 | 26 |
|
| 27 | 27 |
// Stream the entire contents of the container (basically a volatile snapshot) |
| 28 |
- if _, err := io.Copy(job.Stdout, data); err != nil {
|
|
| 28 |
+ if _, err := io.Copy(out, data); err != nil {
|
|
| 29 | 29 |
return fmt.Errorf("%s: %s", name, err)
|
| 30 | 30 |
} |
| 31 | 31 |
// FIXME: factor job-specific LogEvent to engine.Job.Run() |