pause.go 831 B

12345678910111213141516171819202122232425262728
  1. package client
  2. import (
  3. "fmt"
  4. flag "github.com/docker/docker/pkg/mflag"
  5. "github.com/docker/docker/utils"
  6. )
  7. // CmdPause pauses all processes within one or more containers.
  8. //
  9. // Usage: docker pause CONTAINER [CONTAINER...]
  10. func (cli *DockerCli) CmdPause(args ...string) error {
  11. cmd := cli.Subcmd("pause", "CONTAINER [CONTAINER...]", "Pause all processes within a container", true)
  12. cmd.Require(flag.Min, 1)
  13. utils.ParseFlags(cmd, args, false)
  14. var encounteredError error
  15. for _, name := range cmd.Args() {
  16. if _, _, err := readBody(cli.call("POST", fmt.Sprintf("/containers/%s/pause", name), nil, false)); err != nil {
  17. fmt.Fprintf(cli.err, "%s\n", err)
  18. encounteredError = fmt.Errorf("Error: failed to pause container named %s", name)
  19. } else {
  20. fmt.Fprintf(cli.out, "%s\n", name)
  21. }
  22. }
  23. return encounteredError
  24. }