diff options
author | umohnani8 <umohnani@redhat.com> | 2018-06-11 15:27:42 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-07-09 19:30:03 +0000 |
commit | 4855998f1cf533b27e48b2ded5541841fe6a3ea6 (patch) | |
tree | 7bb7e276e04f7d235e667bf088e5c87e43a74924 /libpod/container_internal.go | |
parent | c7424b69911222c2dc92a41308685f1e6d36fb53 (diff) | |
download | podman-4855998f1cf533b27e48b2ded5541841fe6a3ea6.tar.gz podman-4855998f1cf533b27e48b2ded5541841fe6a3ea6.tar.bz2 podman-4855998f1cf533b27e48b2ded5541841fe6a3ea6.zip |
Add --volumes-from flag to podman run and create
podman now supports --volumes-from flag, which allows users
to add all the volumes an existing container has to a new one.
Signed-off-by: umohnani8 <umohnani@redhat.com>
Closes: #931
Approved by: mheon
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 94cd74c09..eb9b39a02 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -1108,7 +1108,7 @@ func (c *Container) generateHosts() (string, error) { return c.writeStringToRundir("hosts", hosts) } -func (c *Container) addImageVolumes(ctx context.Context, g *generate.Generator) error { +func (c *Container) addLocalVolumes(ctx context.Context, g *generate.Generator) error { mountPoint := c.state.Mountpoint if !c.state.Mounted { return errors.Wrapf(ErrInternal, "container is not mounted") @@ -1121,6 +1121,17 @@ func (c *Container) addImageVolumes(ctx context.Context, g *generate.Generator) if err != nil { return err } + // Add the built-in volumes of the container passed in to --volumes-from + for _, vol := range c.config.LocalVolumes { + if imageData.ContainerConfig.Volumes == nil { + imageData.ContainerConfig.Volumes = map[string]struct{}{ + vol: {}, + } + } else { + imageData.ContainerConfig.Volumes[vol] = struct{}{} + } + } + for k := range imageData.ContainerConfig.Volumes { mount := spec.Mount{ Destination: k, |