| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | package composeimport (	"github.com/spf13/cobra"	"github.com/docker/api/client"	"github.com/docker/api/compose")func Command() *cobra.Command {	command := &cobra.Command{		Short: "Docker Compose",		Use:   "compose",	}	command.AddCommand(		upCommand(),		downCommand(),	)	return command}func upCommand() *cobra.Command {	opts := &compose.ProjectOptions{}	upCmd := &cobra.Command{		Use: "up",		RunE: func(cmd *cobra.Command, args []string) error {			c, err := client.New(cmd.Context())			if err != nil {				return err			}			return c.ComposeService().Up(cmd.Context(), *opts)		},	}	upCmd.Flags().StringVar(&opts.Name, "name", "", "Project name")	upCmd.Flags().StringVar(&opts.WorkDir, "workdir", ".", "Work dir")	upCmd.Flags().StringArrayVarP(&opts.ConfigPaths, "file", "f", []string{}, "Compose configuration files")	upCmd.Flags().StringArrayVarP(&opts.Environment, "environment", "e", []string{}, "Environment variables")	return upCmd}func downCommand() *cobra.Command {	opts := &compose.ProjectOptions{}	downCmd := &cobra.Command{		Use: "down",		RunE: func(cmd *cobra.Command, args []string) error {			c, err := client.New(cmd.Context())			if err != nil {				return err			}			return c.ComposeService().Down(cmd.Context(), *opts)		},	}	downCmd.Flags().StringVar(&opts.Name, "name", "", "Project name")	downCmd.Flags().StringVar(&opts.WorkDir, "workdir", ".", "Work dir")	return downCmd}
 |