diff --git a/docker.go b/docker.go index 2b334976d7..abe2d3777d 100644 --- a/docker.go +++ b/docker.go @@ -107,7 +107,7 @@ func NewFromDirectory(root string) (*Docker, error) { containers: list.New(), } - if err := os.Mkdir(docker.repository, 0700); err != nil && !os.IsExist(err) { + if err := os.MkdirAll(docker.repository, 0700); err != nil && !os.IsExist(err) { return nil, err } diff --git a/image/image.go b/image/image.go index 7f635d1338..82c88b2a05 100644 --- a/image/image.go +++ b/image/image.go @@ -27,6 +27,9 @@ func New(root string) (*Store, error) { if err != nil { return nil, err } + if err := os.MkdirAll(abspath, 0700); err != nil && !os.IsExist(err) { + return nil, err + } layers, err := NewLayerStore(path.Join(root, "layers")) if err != nil { return nil, err