When adding volumes to DB, handle nontrivial cases

We want to make sure we don't add anything but the host volume,
and the volumes can include options and container locations.

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #700
Approved by: rhatdan
This commit is contained in:
Matthew Heon 2018-05-01 12:51:04 -04:00 • committed by Atomic Bot
parent dd569a91f4
commit 6ebb90f951

View file

@ -653,7 +653,16 @@ func (c *createConfig) GetContainerCreateOptions() ([]libpod.CtrCreateOption, er
}
if len(c.Volumes) != 0 {
options = append(options, libpod.WithUserVolumes(c.Volumes))
// Volumes consist of multiple, comma-delineated fields
// The image spec only includes one part of that, so drop the
// others, if they are included
volumes := make([]string, 0, len(c.Volumes))
for _, vol := range c.Volumes {
splitVol := strings.Split(vol, ":")
volumes = append(volumes, splitVol[0])
}
options = append(options, libpod.WithUserVolumes(volumes))
}
if len(c.Command) != 0 {