mirror of https://github.com/docker/docs.git
Adding version info, switching to defer for cleanup
This commit is contained in:
parent
7eaa59f626
commit
61a8020e51
15
server.go
15
server.go
|
@ -218,12 +218,15 @@ func (srv *Server) ImageExport(name string, out io.Writer) error {
|
||||||
// temporary directory
|
// temporary directory
|
||||||
tmpImageDir := path.Join(tempdir, i.ID)
|
tmpImageDir := path.Join(tempdir, i.ID)
|
||||||
os.Mkdir(tmpImageDir, os.ModeDir)
|
os.Mkdir(tmpImageDir, os.ModeDir)
|
||||||
|
defer os.RemoveAll(tempdir)
|
||||||
|
var version = "0.7"
|
||||||
|
var versionBuf = []byte(version)
|
||||||
|
ioutil.WriteFile(path.Join(tmpImageDir, "VERSION"), versionBuf, os.ModeAppend)
|
||||||
|
|
||||||
// serialize json
|
// serialize json
|
||||||
b, err := json.Marshal(i)
|
b, err := json.Marshal(i)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("%s", err)
|
utils.Debugf("%s", err)
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
ioutil.WriteFile(path.Join(tmpImageDir, "json"), b, os.ModeAppend)
|
ioutil.WriteFile(path.Join(tmpImageDir, "json"), b, os.ModeAppend)
|
||||||
|
@ -232,19 +235,16 @@ func (srv *Server) ImageExport(name string, out io.Writer) error {
|
||||||
fs, err := Tar(path.Join(srv.runtime.graph.Root, i.ID, "layer"), Uncompressed)
|
fs, err := Tar(path.Join(srv.runtime.graph.Root, i.ID, "layer"), Uncompressed)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("%s", err)
|
utils.Debugf("%s", err)
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fsTar, err := os.Create(path.Join(tmpImageDir, "layer.tar"))
|
fsTar, err := os.Create(path.Join(tmpImageDir, "layer.tar"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
utils.Debugf("%s", err)
|
utils.Debugf("%s", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = io.Copy(fsTar, fs)
|
_, err = io.Copy(fsTar, fs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("%s", err)
|
utils.Debugf("%s", err)
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fsTar.Close()
|
fsTar.Close()
|
||||||
|
@ -254,7 +254,6 @@ func (srv *Server) ImageExport(name string, out io.Writer) error {
|
||||||
i, err = srv.ImageInspect(i.Parent)
|
i, err = srv.ImageInspect(i.Parent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("%s", err)
|
utils.Debugf("%s", err)
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -271,15 +270,13 @@ func (srv *Server) ImageExport(name string, out io.Writer) error {
|
||||||
ioutil.WriteFile(path.Join(tempdir, "repositories"), rootRepoJson, os.ModeAppend)
|
ioutil.WriteFile(path.Join(tempdir, "repositories"), rootRepoJson, os.ModeAppend)
|
||||||
|
|
||||||
fs, err := Tar(tempdir, Uncompressed)
|
fs, err := Tar(tempdir, Uncompressed)
|
||||||
|
defer os.RemoveAll(tempdir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err := io.Copy(out, fs); err != nil {
|
if _, err := io.Copy(out, fs); err != nil {
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
os.RemoveAll(tempdir)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,6 +284,7 @@ func (srv *Server) ImageExport(name string, out io.Writer) error {
|
||||||
// The input stream is an uncompressed tar ball containing images and metadata.
|
// The input stream is an uncompressed tar ball containing images and metadata.
|
||||||
func (srv *Server) ImageLoad(in io.Reader) error {
|
func (srv *Server) ImageLoad(in io.Reader) error {
|
||||||
tmpImageDir, _ := ioutil.TempDir("", "docker-import-")
|
tmpImageDir, _ := ioutil.TempDir("", "docker-import-")
|
||||||
|
defer os.RemoveAll(tmpImageDir)
|
||||||
repoTarFile := path.Join(tmpImageDir, "repo.tar")
|
repoTarFile := path.Join(tmpImageDir, "repo.tar")
|
||||||
repoDir := path.Join(tmpImageDir, "repo")
|
repoDir := path.Join(tmpImageDir, "repo")
|
||||||
tarFile, _ := os.Create(repoTarFile)
|
tarFile, _ := os.Create(repoTarFile)
|
||||||
|
@ -308,7 +306,6 @@ func (srv *Server) ImageLoad(in io.Reader) error {
|
||||||
srv.runtime.repositories.Set(imageName, tag, address, true)
|
srv.runtime.repositories.Set(imageName, tag, address, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
os.RemoveAll(tmpImageDir)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue