aboutsummaryrefslogtreecommitdiff
path: root/pkg/adapter/containers_remote.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-04-25 13:58:25 -0500
committerbaude <bbaude@redhat.com>2019-05-30 10:14:23 -0500
commit2df462024bc59fcf117e3c68bd94b667aa0cecd0 (patch)
treed361fc884d0aad34f108d1693990c1289341d7e5 /pkg/adapter/containers_remote.go
parentc871653e195d8051ddfb899c2b73cc95de8e6443 (diff)
downloadpodman-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.go23
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
+}