From ac8fb77c7401d2d8cfd75bb8399b0f91484210ad Mon Sep 17 00:00:00 2001 From: David Calavera Date: Fri, 4 Dec 2015 12:39:27 -0500 Subject: [PATCH] Implement container rename with standalone client lib. Signed-off-by: David Calavera --- api/client/lib/container_rename.go | 12 ++++++++++++ api/client/rename.go | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 api/client/lib/container_rename.go diff --git a/api/client/lib/container_rename.go b/api/client/lib/container_rename.go new file mode 100644 index 0000000000..5cda44bc6a --- /dev/null +++ b/api/client/lib/container_rename.go @@ -0,0 +1,12 @@ +package lib + +import "net/url" + +// ContainerRename changes the name of a given container. +func (cli *Client) ContainerRename(containerID, newContainerName string) error { + var query url.Values + query.Set("name", newContainerName) + resp, err := cli.POST("/containers/"+containerID+"/rename", query, nil, nil) + ensureReaderClosed(resp) + return err +} diff --git a/api/client/rename.go b/api/client/rename.go index 124ee1fc4c..a67d5d02db 100644 --- a/api/client/rename.go +++ b/api/client/rename.go @@ -24,7 +24,7 @@ func (cli *DockerCli) CmdRename(args ...string) error { return fmt.Errorf("Error: Neither old nor new names may be empty") } - if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/rename?name=%s", oldName, newName), nil, nil)); err != nil { + if err := cli.client.ContainerRename(oldName, newName); err != nil { fmt.Fprintf(cli.err, "%s\n", err) return fmt.Errorf("Error: failed to rename container named %s", oldName) }