Implement container rename with standalone client lib.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: ac8fb77c7401d2d8cfd75bb8399b0f91484210ad
Component: engine
This commit is contained in:
David Calavera
2015-12-09 12:04:56 -05:00
parent f66cc215ec
commit 6f93333b24
2 changed files with 13 additions and 1 deletions
@@ -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
}
+1 -1
View File
@@ -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)
}