Merge pull request #9970 from shishir-a412ed/docker_load_issue
Implementation of docker load command, load the tar ball directly into /var/lib/docker/graph Upstream-commit: 092d52281d20e3456677ac11d781abf1cd0bdd8f Component: engine
This commit is contained in:
@ -4,7 +4,6 @@ package graph
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path"
|
||||
@ -27,23 +26,9 @@ func (s *TagStore) CmdLoad(job *engine.Job) engine.Status {
|
||||
defer os.RemoveAll(tmpImageDir)
|
||||
|
||||
var (
|
||||
repoTarFile = path.Join(tmpImageDir, "repo.tar")
|
||||
repoDir = path.Join(tmpImageDir, "repo")
|
||||
repoDir = path.Join(tmpImageDir, "repo")
|
||||
)
|
||||
|
||||
tarFile, err := os.Create(repoTarFile)
|
||||
if err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
if _, err := io.Copy(tarFile, job.Stdin); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
tarFile.Close()
|
||||
|
||||
repoFile, err := os.Open(repoTarFile)
|
||||
if err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
if err := os.Mkdir(repoDir, os.ModeDir); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
@ -57,7 +42,7 @@ func (s *TagStore) CmdLoad(job *engine.Job) engine.Status {
|
||||
excludes[i] = k
|
||||
i++
|
||||
}
|
||||
if err := chrootarchive.Untar(repoFile, repoDir, &archive.TarOptions{ExcludePatterns: excludes}); err != nil {
|
||||
if err := chrootarchive.Untar(job.Stdin, repoDir, &archive.TarOptions{ExcludePatterns: excludes}); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user