mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Make better default usage on context.Context on the `api/client` package to share the context (it is useless if not shared, which was the case for a lot of commands). Signed-off-by: Vincent Demeester <vincent@sbr.pm>
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package client
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	"golang.org/x/net/context"
 | 
						|
 | 
						|
	Cli "github.com/docker/docker/cli"
 | 
						|
	flag "github.com/docker/docker/pkg/mflag"
 | 
						|
)
 | 
						|
 | 
						|
// CmdStop stops one or more containers.
 | 
						|
//
 | 
						|
// A running container is stopped by first sending SIGTERM and then SIGKILL if the container fails to stop within a grace period (the default is 10 seconds).
 | 
						|
//
 | 
						|
// Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]
 | 
						|
func (cli *DockerCli) CmdStop(args ...string) error {
 | 
						|
	cmd := Cli.Subcmd("stop", []string{"CONTAINER [CONTAINER...]"}, Cli.DockerCommands["stop"].Description+".\nSending SIGTERM and then SIGKILL after a grace period", true)
 | 
						|
	nSeconds := cmd.Int([]string{"t", "-time"}, 10, "Seconds to wait for stop before killing it")
 | 
						|
	cmd.Require(flag.Min, 1)
 | 
						|
 | 
						|
	cmd.ParseFlags(args, true)
 | 
						|
 | 
						|
	ctx := context.Background()
 | 
						|
 | 
						|
	var errs []string
 | 
						|
	for _, name := range cmd.Args() {
 | 
						|
		if err := cli.client.ContainerStop(ctx, name, *nSeconds); err != nil {
 | 
						|
			errs = append(errs, err.Error())
 | 
						|
		} else {
 | 
						|
			fmt.Fprintf(cli.out, "%s\n", name)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if len(errs) > 0 {
 | 
						|
		return fmt.Errorf("%s", strings.Join(errs, "\n"))
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |