diff options
author | baude <bbaude@redhat.com> | 2019-04-25 13:58:25 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-05-30 10:14:23 -0500 |
commit | 2df462024bc59fcf117e3c68bd94b667aa0cecd0 (patch) | |
tree | d361fc884d0aad34f108d1693990c1289341d7e5 /pkg/adapter/containers_remote.go | |
parent | c871653e195d8051ddfb899c2b73cc95de8e6443 (diff) | |
download | podman-2df462024bc59fcf117e3c68bd94b667aa0cecd0.tar.gz podman-2df462024bc59fcf117e3c68bd94b667aa0cecd0.tar.bz2 podman-2df462024bc59fcf117e3c68bd94b667aa0cecd0.zip |
podman remote-client commit
add the ability to commit a container to an image using the remote
client.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/adapter/containers_remote.go')
-rw-r--r-- | pkg/adapter/containers_remote.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pkg/adapter/containers_remote.go b/pkg/adapter/containers_remote.go index c34495b3d..891a2137b 100644 --- a/pkg/adapter/containers_remote.go +++ b/pkg/adapter/containers_remote.go @@ -986,3 +986,26 @@ func (r *LocalRuntime) GetNamespaces(container shared.PsContainerOutput) *shared } return &ns } + +// Commit creates a local image from a container +func (r *LocalRuntime) Commit(ctx context.Context, c *cliconfig.CommitValues, container, imageName string) (string, error) { + var iid string + reply, err := iopodman.Commit().Send(r.Conn, varlink.More, container, imageName, c.Change, c.Author, c.Message, c.Pause, c.Format) + if err != nil { + return "", err + } + for { + responses, flags, err := reply() + if err != nil { + return "", err + } + for _, line := range responses.Logs { + fmt.Fprintln(os.Stderr, line) + } + iid = responses.Id + if flags&varlink.Continues == 0 { + break + } + } + return iid, nil +} |