diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2019-03-14 08:33:53 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2019-03-15 10:44:44 -0400 |
commit | 9d81be961491ac965f6cc9fd96884833c0165334 (patch) | |
tree | f107bb824b7f8af5168c33dee8d946f9d16d6d0d /libpod/container_internal.go | |
parent | 37dcc0a305a1606de7c0f5521d11250a4318bb51 (diff) | |
download | podman-9d81be961491ac965f6cc9fd96884833c0165334.tar.gz podman-9d81be961491ac965f6cc9fd96884833c0165334.tar.bz2 podman-9d81be961491ac965f6cc9fd96884833c0165334.zip |
Make sure buildin volumes have the same ownership and permissions as image
When creating a new image volume to be mounted into a container, we need to
make sure the new volume matches the Ownership and permissions of the path
that it will be mounted on.
For example if a volume inside of a containre image is owned by the database
UID, we want the volume to be mounted onto the image to be owned by the
database UID.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 872802016..ac2d65342 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -1429,5 +1429,9 @@ func (c *Container) copyWithTarFromImage(src, dest string) error { } a := archive.NewDefaultArchiver() source := filepath.Join(mountpoint, src) + + if err = c.copyOwnerAndPerms(source, dest); err != nil { + return err + } return a.CopyWithTar(source, dest) } |