Implement --image-volumes for create and run

--image-volumes tells podman what to do with the image volumes in the image config
There are 3 options: bind, tmpfs, and ignore
bind puts the volume contents in /var/lib/containers/storage/container-id/volumes/vol-dir
and bind mounts it into the container at /vol-dir
tmpfs mounts /vol-dir as a tmps into the container
ignore doesn't mount the image volumes onto the container

Signed-off-by: umohnani8 <umohnani@redhat.com>

Closes: #377
Approved by: rhatdan
This commit is contained in:
umohnani8
2018-02-16 10:38:12 -05:00
committed by Atomic Bot
parent 7a7a6c2d79
commit 3d395767d8
11 changed files with 141 additions and 18 deletions

View File

@ -144,6 +144,13 @@ func (c *Container) Init() (err error) {
}
g.AddMount(hostnameMnt)
// Bind builtin image volumes
if c.config.ImageVolumes {
if err = c.addImageVolumes(&g); err != nil {
return errors.Wrapf(err, "error mounting image volumes")
}
}
if c.config.User != "" {
if !c.state.Mounted {
return errors.Wrapf(ErrCtrStateInvalid, "container %s must be mounted in order to translate User field", c.ID())