Add --include-volumes flag to 'podman commit'

The 'docker commit' will never include a container's volumes when
committing, without an explicit request through '--change'.

Podman, however, defaulted to including user volumes as image
volumes.

Make this behavior depend on a new flag, '--include-volumes',
and make the default behavior match Docker.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
This commit is contained in:
Matthew Heon
2019-04-10 16:00:47 -04:00
parent 6cd6eb6768
commit aef09ce031
5 changed files with 48 additions and 22 deletions

View File

@ -20,10 +20,11 @@ import (
//libpod
type ContainerCommitOptions struct {
buildah.CommitOptions
Pause bool
Author string
Message string
Changes []string
Pause bool
IncludeVolumes bool
Author string
Message string
Changes []string
}
// ChangeCmds is the list of valid Changes commands to passed to the Commit call
@ -113,9 +114,11 @@ func (c *Container) Commit(ctx context.Context, destImage string, options Contai
// User
importBuilder.SetUser(c.User())
// Volumes
for _, v := range c.config.UserVolumes {
if v != "" {
importBuilder.AddVolume(v)
if options.IncludeVolumes {
for _, v := range c.config.UserVolumes {
if v != "" {
importBuilder.AddVolume(v)
}
}
}
// Workdir