github.com/boynux/docker@v1.11.0-rc4/api/client/rename.go (about) 1 package client 2 3 import ( 4 "fmt" 5 "strings" 6 7 "golang.org/x/net/context" 8 9 Cli "github.com/docker/docker/cli" 10 flag "github.com/docker/docker/pkg/mflag" 11 ) 12 13 // CmdRename renames a container. 14 // 15 // Usage: docker rename OLD_NAME NEW_NAME 16 func (cli *DockerCli) CmdRename(args ...string) error { 17 cmd := Cli.Subcmd("rename", []string{"OLD_NAME NEW_NAME"}, Cli.DockerCommands["rename"].Description, true) 18 cmd.Require(flag.Exact, 2) 19 20 cmd.ParseFlags(args, true) 21 22 oldName := strings.TrimSpace(cmd.Arg(0)) 23 newName := strings.TrimSpace(cmd.Arg(1)) 24 25 if oldName == "" || newName == "" { 26 return fmt.Errorf("Error: Neither old nor new names may be empty") 27 } 28 29 if err := cli.client.ContainerRename(context.Background(), oldName, newName); err != nil { 30 fmt.Fprintf(cli.err, "%s\n", err) 31 return fmt.Errorf("Error: failed to rename container named %s", oldName) 32 } 33 return nil 34 }