rename.go 820 B

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