github.com/vieux/docker@v0.6.3-0.20161004191708-e097c2a938c7/cli/command/checkpoint/list.go (about) 1 // +build experimental 2 3 package checkpoint 4 5 import ( 6 "fmt" 7 "text/tabwriter" 8 9 "golang.org/x/net/context" 10 11 "github.com/docker/docker/cli" 12 "github.com/docker/docker/cli/command" 13 "github.com/spf13/cobra" 14 ) 15 16 func newListCommand(dockerCli *command.DockerCli) *cobra.Command { 17 return &cobra.Command{ 18 Use: "ls CONTAINER", 19 Aliases: []string{"list"}, 20 Short: "List checkpoints for a container", 21 Args: cli.ExactArgs(1), 22 RunE: func(cmd *cobra.Command, args []string) error { 23 return runList(dockerCli, args[0]) 24 }, 25 } 26 } 27 28 func runList(dockerCli *command.DockerCli, container string) error { 29 client := dockerCli.Client() 30 31 checkpoints, err := client.CheckpointList(context.Background(), container) 32 if err != nil { 33 return err 34 } 35 36 w := tabwriter.NewWriter(dockerCli.Out(), 20, 1, 3, ' ', 0) 37 fmt.Fprintf(w, "CHECKPOINT NAME") 38 fmt.Fprintf(w, "\n") 39 40 for _, checkpoint := range checkpoints { 41 fmt.Fprintf(w, "%s\t", checkpoint.Name) 42 fmt.Fprint(w, "\n") 43 } 44 45 w.Flush() 46 return nil 47 }