diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-25 18:59:53 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2022-06-27 20:22:20 +0200 |
commit | aada13f244d52dad9b6a1cfaa725e9d36d75a858 (patch) | |
tree | 5342476dc54a2bf9ce64096c124249c6e631a8f6 /libpod/container_internal.go | |
parent | a4094530bc8b0d5fdbd8ad4ce9a136fe15ee7cee (diff) | |
download | podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.tar.gz podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.tar.bz2 podman-aada13f244d52dad9b6a1cfaa725e9d36d75a858.zip |
volume: new options [no]copy
add two new options to the volume create command: copy and nocopy.
When nocopy is specified, the files from the container image are not
copied up to the volume.
Closes: https://github.com/containers/podman/issues/14722
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 8112c9a59..64696cc27 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -21,6 +21,7 @@ import ( "github.com/containers/common/pkg/cgroups" "github.com/containers/common/pkg/chown" "github.com/containers/common/pkg/config" + cutil "github.com/containers/common/pkg/util" "github.com/containers/podman/v4/libpod/define" "github.com/containers/podman/v4/libpod/events" "github.com/containers/podman/v4/pkg/ctime" @@ -1639,7 +1640,8 @@ func (c *Container) mountNamedVolume(v *ContainerNamedVolume, mountpoint string) if err := vol.update(); err != nil { return nil, err } - if vol.state.NeedsCopyUp { + _, hasNoCopy := vol.config.Options["nocopy"] + if vol.state.NeedsCopyUp && !cutil.StringInSlice("nocopy", v.Options) && !hasNoCopy { logrus.Debugf("Copying up contents from container %s to volume %s", c.ID(), vol.Name()) srcDir, err := securejoin.SecureJoin(mountpoint, v.Dest) |