Fix copy from a "created" container. Fixes #14420

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 289ee90b04a2315cd36d6ff363b41c89f8ebf2aa
Component: engine
This commit is contained in:
Lei Jitang
2015-07-08 11:15:09 +08:00
parent 78101e16cc
commit 13ea01e391
3 changed files with 46 additions and 0 deletions
+9
View File
@@ -23,6 +23,7 @@ import (
"github.com/docker/docker/image"
"github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/broadcastwriter"
"github.com/docker/docker/pkg/fileutils"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/pkg/jsonlog"
"github.com/docker/docker/pkg/mount"
@@ -627,6 +628,14 @@ func (container *Container) Copy(resource string) (io.ReadCloser, error) {
if err != nil {
return nil, err
}
var stat os.FileInfo
stat, err = os.Stat(m.Source)
if err != nil {
return nil, err
}
if err = fileutils.CreateIfNotExists(dest, stat.IsDir()); err != nil {
return nil, err
}
if err = mount.Mount(m.Source, dest, "bind", "rbind,ro"); err != nil {
return nil, err
}