docker save: fix filemode permissions

currently the files created are not readable. This makes the files and
directories permissions more sane.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
Upstream-commit: 0a6d42e2085b9cd1d057779a5b0a80cd49292c37
Component: engine
This commit is contained in:
Vincent Batts
2014-04-08 12:39:25 -04:00
parent 06d3bd0a02
commit db9feb7670
+4 -4
View File
@@ -340,7 +340,7 @@ func (srv *Server) ImageExport(job *engine.Job) engine.Status {
rootRepoMap[name] = rootRepo
rootRepoJson, _ := json.Marshal(rootRepoMap)
if err := ioutil.WriteFile(path.Join(tempdir, "repositories"), rootRepoJson, os.ModeAppend); err != nil {
if err := ioutil.WriteFile(path.Join(tempdir, "repositories"), rootRepoJson, os.FileMode(0644)); err != nil {
return job.Error(err)
}
} else {
@@ -369,7 +369,7 @@ func (srv *Server) exportImage(img *image.Image, tempdir string) error {
for i := img; i != nil; {
// temporary directory
tmpImageDir := path.Join(tempdir, i.ID)
if err := os.Mkdir(tmpImageDir, os.ModeDir); err != nil {
if err := os.Mkdir(tmpImageDir, os.FileMode(0755)); err != nil {
if os.IsExist(err) {
return nil
}
@@ -379,7 +379,7 @@ func (srv *Server) exportImage(img *image.Image, tempdir string) error {
var version = "1.0"
var versionBuf = []byte(version)
if err := ioutil.WriteFile(path.Join(tmpImageDir, "VERSION"), versionBuf, os.ModeAppend); err != nil {
if err := ioutil.WriteFile(path.Join(tmpImageDir, "VERSION"), versionBuf, os.FileMode(0644)); err != nil {
return err
}
@@ -388,7 +388,7 @@ func (srv *Server) exportImage(img *image.Image, tempdir string) error {
if err != nil {
return err
}
if err := ioutil.WriteFile(path.Join(tmpImageDir, "json"), b, os.ModeAppend); err != nil {
if err := ioutil.WriteFile(path.Join(tmpImageDir, "json"), b, os.FileMode(0644)); err != nil {
return err
}